export { BookingService } from './BookingService';
export { BookingStore } from './BookingStore';
export type { IBooking, BookingStatus, IBookingService } from '../../types/CalendarTypes';

// DI registration helper
import type { Builder } from '@novadi/core';
import { IStore } from '../../storage/IStore';
import { IEntityService } from '../../storage/IEntityService';
import type { IBooking, ISync } from '../../types/CalendarTypes';
import { BookingStore } from './BookingStore';
import { BookingService } from './BookingService';

export function registerBookings(builder: Builder): void {
  builder.registerType(BookingStore).as<IStore>();
  builder.registerType(BookingService).as<IEntityService<IBooking>>();
  builder.registerType(BookingService).as<IEntityService<ISync>>();
  builder.registerType(BookingService).as<BookingService>();
}
