export { ScheduleOverrideService } from './ScheduleOverrideService';
export { ScheduleOverrideStore } from './ScheduleOverrideStore';
export { ResourceScheduleService } from './ResourceScheduleService';
export type { IScheduleOverride, ITimeSlot, IWeekSchedule, WeekDay } from '../../types/ScheduleTypes';

// DI registration helper
import type { Builder } from '@novadi/core';
import { IStore } from '../../storage/IStore';
import { ScheduleOverrideStore } from './ScheduleOverrideStore';
import { ScheduleOverrideService } from './ScheduleOverrideService';
import { ResourceScheduleService } from './ResourceScheduleService';

export function registerSchedules(builder: Builder): void {
  builder.registerType(ScheduleOverrideStore).as<IStore>();
  builder.registerType(ScheduleOverrideService).as<ScheduleOverrideService>();
  builder.registerType(ResourceScheduleService).as<ResourceScheduleService>();
}
