import { OnInit, OnDestroy, TemplateRef } from '@angular/core'; import { SchedulerEvent, SchedulerEventChangeEvent, SchedulerSlotClickEvent, SchedulerResource, SchedulerSlotRangeSelectEvent } from './models'; import * as i0 from "@angular/core"; export declare class NgxSchedulerEventTemplateDirective { templateRef: TemplateRef; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵdir: i0.ɵɵDirectiveDeclaration; } interface TimeSlot { hour: number; minute: number; key: string; } interface ResolvedSchedulerEvent { id: string; event: SchedulerEvent; start: Date; end: Date; } interface SchedulerEventLayout extends ResolvedSchedulerEvent { top: number; height: number; left: number; width: number; } export declare class SchedulerComponent implements OnInit, OnDestroy { i18n: import("ngx-core-components/i18n").NgxCoreI18n; getViewModeLabel(mode: string): string; readonly hourHeight = 60; viewModes: ('day' | 'week' | 'month')[]; events: import("@angular/core").InputSignal; currentDate: import("@angular/core").InputSignal; viewMode: import("@angular/core").InputSignal<"month" | "day" | "week">; theme: import("@angular/core").InputSignal<"light" | "dark">; businessHoursStart: import("@angular/core").InputSignal; businessHoursEnd: import("@angular/core").InputSignal; weekStartsOn: import("@angular/core").InputSignal<0 | 2 | 1 | 3 | 4 | 5 | 6>; timeZone: import("@angular/core").InputSignal; slotMinutes: import("@angular/core").InputSignal; resources: import("@angular/core").InputSignal; enableDragToCreate: import("@angular/core").InputSignal; showSearch: import("@angular/core").InputSignal; showWorkHoursOnly: import("@angular/core").InputSignal; eventClick: import("@angular/core").OutputEmitterRef; slotClick: import("@angular/core").OutputEmitterRef; eventTimeChange: import("@angular/core").OutputEmitterRef; slotRangeSelect: import("@angular/core").OutputEmitterRef; eventDelete: import("@angular/core").OutputEmitterRef; currentDateChange: import("@angular/core").OutputEmitterRef; activeDate: import("@angular/core").WritableSignal; activeMode: import("@angular/core").WritableSignal<"month" | "day" | "week">; selectedResourceId: import("@angular/core").WritableSignal; searchQuery: import("@angular/core").WritableSignal; dragSelectStart: import("@angular/core").WritableSignal<{ date: Date; hour: number; minute: number; resourceId?: string; } | null>; dragSelectCurrent: import("@angular/core").WritableSignal<{ date: Date; hour: number; minute: number; resourceId?: string; } | null>; showExportDropdown: import("@angular/core").WritableSignal; activeMonthPopoverDate: import("@angular/core").WritableSignal; eventTemplate: import("@angular/core").Signal; openMonthPopover(event: MouseEvent, date: Date): void; closeMonthPopover(event: MouseEvent): void; handleKeyDown(event: KeyboardEvent): void; now: import("@angular/core").WritableSignal; private timeIntervalId?; private activeDragEvent; private resizeState; constructor(); ngOnInit(): void; ngOnDestroy(): void; filteredEvents: import("@angular/core").Signal; hasAllDayEvents: import("@angular/core").Signal; currentTimeTop: import("@angular/core").Signal; hours: import("@angular/core").Signal; timeSlots: import("@angular/core").Signal; activeColumns: import("@angular/core").Signal<{ date: Date; resource?: SchedulerResource; }[]>; weekDayLabels: import("@angular/core").Signal; periodLabel: import("@angular/core").Signal; slotHeight(): number; navigate(direction: number): void; goToToday(): void; getEventsForDate(date: Date): ResolvedSchedulerEvent[]; getEventsForColumn(col: { date: Date; resource?: SchedulerResource; }): ResolvedSchedulerEvent[]; getAllDayEventsForColumn(col: { date: Date; resource?: SchedulerResource; }): ResolvedSchedulerEvent[]; getEventLayoutsForColumn(col: { date: Date; resource?: SchedulerResource; }): SchedulerEventLayout[]; clickEvent(event: SchedulerEvent): void; clickSlot(date: Date, hour: number, minute?: number, resourceId?: string): void; deleteEvent(event: SchedulerEvent, clickEvent: MouseEvent): void; toggleTaskCompletion(event: SchedulerEvent, clickEvent: Event): void; getEventStyles(event: SchedulerEvent): { [key: string]: string; }; onSearchInput(event: Event): void; onResourceFilterChange(event: Event): void; isNonBusinessHour(hour: number): boolean; onSlotPointerDown(event: PointerEvent, date: Date, hour: number, minute: number, resourceId?: string): void; onSlotPointerEnter(event: PointerEvent, date: Date, hour: number, minute: number, resourceId?: string): void; onWindowPointerUp(event: PointerEvent): void; getDragSelectionLayout(col: { date: Date; resource?: SchedulerResource; }): { top: number; height: number; } | null; onSlotDragOver(event: DragEvent): void; onEventDragStart(event: DragEvent, layout: SchedulerEventLayout): void; onEventDragEnd(): void; onSlotDrop(event: DragEvent, date: Date, hour: number, minute?: number, resourceId?: string): void; startResize(event: PointerEvent, layout: SchedulerEventLayout, edge: 'start' | 'end'): void; finishResize(event: PointerEvent): void; cancelResize(): void; isToday(date: Date): boolean; isOtherMonth(date: Date): boolean; formatHour(hour: number): string; formatDate(date: Date, options: Intl.DateTimeFormatOptions): string; formatEventTime(start: Date, end: Date): string; eventTitle(layout: SchedulerEventLayout): string; dateKey(date: Date): string; getInitials(name: string): string; getResourceName(resourceId: string): string; exportToICS(): void; exportToJSON(): void; exportToCSV(): void; private downloadFile; private layoutOverlapGroup; private resolveEventForDate; private resolveRecurringOccurrence; private getEventTop; private getEventHeight; private getStartOfWeek; private getWeekDays; private getMonthDays; protected isSameDate(d1: Date, d2: Date): boolean; private startOfDay; private endOfDay; private rangesOverlap; private normalizedStartHour; private normalizedEndHour; private normalizedSlotMinutes; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } export {};