import { EventEmitter, AfterViewInit, ElementRef } from '@angular/core'; import type { CalendarEvent, CalendarDateTime, Resource } from '@bimetal/core'; import type { CalendarConfig } from '@bimetal/angular'; import type { DragPreview } from '@bimetal/headless'; import { type TimeEventLayout } from '../week/TimeEvent.js'; import * as i0 from "@angular/core"; export declare class ResourceViewComponent implements AfterViewInit { currentDate: CalendarDateTime; events: CalendarEvent[]; visibleResources: readonly Resource[]; 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; resourceCellClick: EventEmitter<{ date: CalendarDateTime; time: string; resourceId: string; rect: DOMRect; }>; resourceDrop: EventEmitter<{ event: DragEvent; date: CalendarDateTime; time: string; resourceId: string; }>; 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; hours: number[]; hourHeight: number; timeLabelWidth: number; click: import("@bimetal/headless").ClickIntent; ngAfterViewInit(): void; get today(): CalendarDateTime; get isToday(): boolean; get dayName(): string; get nowHours(): number; get colWidth(): string; colLeft(idx: number): string; /** Apply drag preview to the dragged event so its ghost moves with the cursor. */ get displayEvents(): CalendarEvent[]; /** * Lane-Layout pro Resource durch den Core (Pilot-Direktive 2026-06-21). * dayCol = Resource-Index, lane/laneCount aus layoutTimed pro Resource * — Überlapper in r1 dürfen die Spalte r2 nicht halbieren. */ get timedEntries(): { event: CalendarEvent; layout: TimeEventLayout; }[]; resourceFromX(clientX: number, gridInner: HTMLElement): string | null; isOffHour(h: number): boolean; formatHour(h: number): string; onColClick(e: MouseEvent): void; onColDoubleClick(e: MouseEvent, resourceId: string): void; onGridDragOver(e: DragEvent): void; onGridDrop(e: DragEvent): void; onGridDragLeave(e: DragEvent): void; trackResource(_: number, r: Resource): string; trackEvent(_: number, ev: CalendarEvent): string; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } //# sourceMappingURL=ResourceView.d.ts.map