/** * Event Controller * * Main controller for comprehensive event management functionality */ import { ControllerAdapter } from "@uplink-protocol/core"; import { ControllerMetadata } from "@uplink-protocol/core/dist/uplink/interfaces/metadata/controller-metadata.interface"; import { CalendarEvent, EventFilter, EventSort } from './interfaces/event.interfaces'; import { TypedEventController, EventControllerBindings, EventControllerMethods, EventControllerEvents, EventControllerOptions } from './types/event-controller.types'; /** * Event Controller Interface */ export interface EventControllerInterface extends TypedEventController { _selectedEvent: CalendarEvent | null; _allEvents: CalendarEvent[]; _filteredEvents: CalendarEvent[]; _currentFilter: EventFilter | null; _currentSort: EventSort | null; _searchQuery: string; _searchResults: CalendarEvent[]; _isLoading: boolean; _error: string | null; _totalCount: number; _currentPage: number; _pageSize: number; _dateRangeEvents: CalendarEvent[]; _currentDateRange: { start: Date; end: Date; } | null; _upcomingEvents: CalendarEvent[]; _overdueEvents: CalendarEvent[]; _conflicts: any[]; _validationErrors: string[]; _syncStatus: 'idle' | 'syncing' | 'success' | 'error'; _lastSyncTime: Date | null; _categories: string[]; _tags: string[]; _statistics: any; } /** * Event Controller Class */ export declare class EventControllerClass implements EventControllerInterface { bindings: EventControllerBindings; methods: EventControllerMethods; events: EventControllerEvents; meta?: ControllerMetadata; __adapter?: ControllerAdapter; options?: EventControllerOptions; _selectedEvent: CalendarEvent | null; _allEvents: CalendarEvent[]; _filteredEvents: CalendarEvent[]; _currentFilter: EventFilter | null; _currentSort: EventSort | null; _searchQuery: string; _searchResults: CalendarEvent[]; _isLoading: boolean; _error: string | null; _totalCount: number; _currentPage: number; _pageSize: number; _dateRangeEvents: CalendarEvent[]; _currentDateRange: { start: Date; end: Date; } | null; _upcomingEvents: CalendarEvent[]; _overdueEvents: CalendarEvent[]; _conflicts: any[]; _validationErrors: string[]; _syncStatus: 'idle' | 'syncing' | 'success' | 'error'; _lastSyncTime: Date | null; _categories: string[]; _tags: string[]; _statistics: any; private eventManager; private initialized; constructor(options?: EventControllerOptions); /** * Initialize the controller */ initialize(options?: EventControllerOptions): Promise; /** * Get controller status */ getStatus(): { initialized: boolean; totalEvents: number; health: "good" | "error"; lastError: string | null; }; /** * Destroy the controller */ destroy(): Promise; private initializeBindings; private initializeMethods; private initializeEvents; private initializeMetadata; private createEvent; private updateEvent; private deleteEvent; private getEventById; private getAllEvents; private queryEvents; private filterEvents; private sortEvents; private searchEvents; private getEventsForDate; private getEventsForDateRange; private loadAllEvents; private loadUpcomingEvents; private loadCategories; private setupEventSubscriptions; private getEventsForWeek; private getEventsForMonth; private getUpcomingEvents; private getOverdueEvents; private bulkCreateEvents; private bulkUpdateEvents; private bulkDeleteEvents; private validateEvent; private validateEventConstraints; private duplicateEvent; private moveEvent; private rescheduleEvent; private cancelEvent; private completeEvent; private createRecurringEvent; private updateRecurringEvent; private deleteRecurringEvent; private getRecurrenceOccurrences; private checkConflicts; private resolveConflict; private findAlternativeTimeSlots; private getCategories; private addCategory; private removeCategory; private getTags; private addTag; private removeTag; private importEvents; private exportEvents; private getStatistics; private getEventAnalytics; private syncWithProvider; private getSyncStatus; private configureSyncProvider; private scheduleReminder; private cancelReminder; private saveSearch; private getSavedSearches; private executeSavedSearch; private clearAllEvents; private backup; private restore; private getHealth; } /** * Event Controller Factory Function */ export declare const EventController: (options?: EventControllerOptions) => EventControllerClass;