import { EventEmitter, OnChanges, AfterViewInit, ElementRef } from '@angular/core'; import type { CalendarEvent, CalendarDateTime, LayoutItem } from '@bimetal/core'; import { getDayOfMonth } from '@bimetal/core'; import type { CalendarConfig } from '@bimetal/angular'; import type { DragPreview } from '@bimetal/headless'; import { type TimeEventLayout } from './TimeEvent.js'; import * as i0 from "@angular/core"; export declare class WeekViewComponent implements OnChanges, AfterViewInit { currentDate: CalendarDateTime; events: CalendarEvent[]; config: CalendarConfig; dragPreview: DragPreview | null; selectedEventId: string | null; selectedInstanceDate: number | undefined; eventClick: EventEmitter<{ eventId: string; rect: DOMRect; instanceDate?: number; }>; selectEvent: EventEmitter<{ eventId: string; instanceDate?: number; }>; clearSelection: EventEmitter; dayCellClick: EventEmitter<{ date: CalendarDateTime; rect: DOMRect; }>; dropEvent: EventEmitter<{ event: DragEvent; date: CalendarDateTime; }>; dropTimedEvent: EventEmitter<{ event: DragEvent; date: CalendarDateTime; time: string; }>; dragOverDate: EventEmitter; dragOverDateTime: EventEmitter<{ date: CalendarDateTime; time: string; }>; /** Drop-Zone wurde verlassen (dragleave) — Preview visuell ausräumen. */ hidePreviewEv: EventEmitter; /** Native `dragend` der Source — Drag-Session vollständig beendet. */ dragEnd: EventEmitter; dragStartEv: EventEmitter; timeGridEl?: ElementRef; gridInnerEl?: ElementRef; weekDates: CalendarDateTime[]; weekNumber: number; allDayItems: LayoutItem[]; timedEntries: { event: CalendarEvent; layout: TimeEventLayout; }[]; hours: number[]; hourHeight: number; timeLabelWidth: number; nowCol: number; nowHours: number; click: import("@bimetal/headless").ClickIntent; getDayOfMonth: typeof getDayOfMonth; private currentNow; private timeSnapMinutes; get dayColWidth(): string; dayColLeft(col: number): string; isTodayAt(i: number): boolean; isOffHour(h: number): boolean; ngOnChanges(): void; ngAfterViewInit(): void; handleGridDragOver(e: DragEvent): void; handleGridDrop(e: DragEvent): void; handleGridDragLeave(e: DragEvent): void; handleGridClick(e: MouseEvent): void; handleGridDoubleClick(e: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } //# sourceMappingURL=WeekView.d.ts.map