import { EventEmitter } from '@angular/core'; import type { CalendarEvent, CalendarDateTime } from '@bimetal/core'; import { type DragInfo } from '@bimetal/headless'; import { EventRenderService } from '@bimetal/angular'; import * as i0 from "@angular/core"; /** * Layout-Position eines Termins in einer Spalten-orientierten View * (Week, Day, Resource). Zwei orthogonale Achsen — siehe React-Variante * `packages/react-components/src/views/week/TimeEvent.tsx` für die * Architektur-Begründung (Pilot-Direktive 2026-06-21). */ export interface TimeEventLayout { readonly dayCol: number; readonly dayCount: number; readonly lane: number; readonly laneCount: number; readonly startOffset: number; readonly endOffset: number; } export declare class TimeEventComponent { private renderService?; event: CalendarEvent; layout: TimeEventLayout; dayDate: CalendarDateTime; hourHeight: number; timeLabelWidth: number; ghost: boolean; clickThresholdMs: number; snapMinutes: number; locale: any; selectedEventId: string | null; selectedInstanceDate: number | undefined; eventClick: EventEmitter<{ eventId: string; rect: DOMRect; instanceDate?: number; }>; selectEvent: EventEmitter<{ eventId: string; instanceDate?: number; }>; dragStart: EventEmitter; /** Native `dragend` der Source — bubbelt aus Body und Resize-Handles. */ dragEnd: EventEmitter; private click; constructor(renderService?: EventRenderService | undefined); get badgesTpl(): import("@angular/core").TemplateRef | undefined; get contentTpl(): import("@angular/core").TemplateRef | undefined; get tplCtx(): import("@bimetal/angular").EventRenderTemplateContext | undefined; get renderedTitle(): string; get slotsClassName(): string; get slotsStyle(): Record | undefined; get dayHeight(): number; get top(): number; get height(): number; get duration(): number; get isFirstDay(): boolean; get isLastDay(): boolean; get color(): string; get leftFraction(): number; get widthFraction(): number; get left(): string; get width(): string; get borderRadius(): string; get instanceDate(): number | undefined; get isSelected(): boolean; get selectedClass(): "" | " time-event--selected"; get timeLabel(): string; handleMouseDown(): void; handleDragStart(e: DragEvent): void; handleResizeDragStart(e: DragEvent, edge: 'start' | 'end'): void; handleClick(e: MouseEvent): void; handleDoubleClick(e: MouseEvent): void; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } //# sourceMappingURL=TimeEvent.d.ts.map