import { ControllerMetadata } from "@uplink-protocol/core/dist/uplink/interfaces/metadata/controller-metadata.interface"; import { CalendarOptions, ICalendarService, IDateFormattingService, IDateSelectionService, IViewStateService, IEventManagerService, INavigationService, IConstraintsService, ICalendarGeneratorService, IConfigurationService, ILocalizationService, IAccessibilityService, IAccessibilityManagerService, ICalendarStateService } from "../interfaces"; import { CalendarStateManager } from "./state-manager"; import { CalendarControllerBindings, CalendarControllerEvents } from "../types"; /** * ControllerInitializer - Handles all controller initialization logic * Responsible for service instantiation, configuration, metadata setup, and initial state */ export declare class ControllerInitializer { /** * Initialize all services required by the controller */ initializeServices(): { calendarService: ICalendarService; dateFormattingService: IDateFormattingService; dateSelectionService: IDateSelectionService; viewStateService: IViewStateService; eventManagerService: IEventManagerService; navigationService: INavigationService; constraintsService: IConstraintsService; calendarGeneratorService: ICalendarGeneratorService; localizationService: ILocalizationService; configurationService: IConfigurationService; accessibilityService: IAccessibilityService; accessibilityManagerService: IAccessibilityManagerService; calendarStateService: ICalendarStateService; }; /** * Apply configuration options to state manager and services */ applyConfiguration(options: CalendarOptions, stateManager: CalendarStateManager, services: { calendarService: ICalendarService; dateFormattingService: IDateFormattingService; localizationService: ILocalizationService; configurationService: IConfigurationService; constraintsService: IConstraintsService; }): { localizationService: ILocalizationService; configurationService: IConfigurationService; locale: string; }; /** * Initialize bindings */ initializeBindings(stateManager: CalendarStateManager, viewStateService: IViewStateService, generateCalendarDaysFn: () => any[], generateCalendarMonthsFn: () => any[], generateCalendarYearsFn: () => any[]): CalendarControllerBindings; /** * Initialize events */ initializeEvents(eventManagerService: IEventManagerService): CalendarControllerEvents; /** * Initialize metadata for the controller */ initializeMetadata(controller: any): void; /** * Setup bindings for the controller (placeholder - actual binding initialization handled by bindingsCoordinator) */ setupBindings(_controller: any): void; /** * Setup methods for the controller (placeholder - methods are already defined in controller class) */ setupMethods(_controller: any): void; /** * Create controller metadata for agent assistance */ createMetadata(): ControllerMetadata; }