import { TemplateRef } from '@angular/core'; import { GanttTask, GanttSubtask, GanttDependency, GanttConfig, GanttColumnDef, ZoomLevel, GanttGroup, GanttBaselineItem, GanttTaskChangeEvent, GanttTaskClickEvent, GanttDependencyClickEvent, GanttScrollEvent, GanttDragEvent, GanttLinkDragEvent, GanttLineClickEvent, GanttBarClickEvent, GanttSelectedEvent, GanttTableDragStartedEvent, GanttTableDragEndedEvent, GanttTableDragDroppedEvent, GanttLoadOnScrollEvent, GanttVirtualScrolledIndexChangeEvent, GanttViewChangeEvent, GanttExpandChangeEvent, GanttTooltipContext } from './models'; import { FlatRow } from './services/gantt-layout.service'; import { GanttKeyboardService } from './services/gantt-keyboard.service'; import * as i0 from "@angular/core"; export declare class GanttChartComponent { i18n: import("ngx-core-components/i18n").NgxCoreI18n; tasks: import("@angular/core").InputSignal; dependencies: import("@angular/core").InputSignal; config: import("@angular/core").InputSignal>; groups: import("@angular/core").InputSignal[]>; baselineItems: import("@angular/core").InputSignal; tooltipTemplate: import("@angular/core").InputSignal | null>; enableDragToZoom: import("@angular/core").InputSignal; taskChange: import("@angular/core").OutputEmitterRef; taskClick: import("@angular/core").OutputEmitterRef; taskDblClick: import("@angular/core").OutputEmitterRef; dependencyClick: import("@angular/core").OutputEmitterRef; scroll: import("@angular/core").OutputEmitterRef; zoomChange: import("@angular/core").OutputEmitterRef; dragStarted: import("@angular/core").OutputEmitterRef; dragMoved: import("@angular/core").OutputEmitterRef; dragEnded: import("@angular/core").OutputEmitterRef; linkDragStarted: import("@angular/core").OutputEmitterRef; linkDragEnded: import("@angular/core").OutputEmitterRef; lineClick: import("@angular/core").OutputEmitterRef; barClick: import("@angular/core").OutputEmitterRef; selectedChange: import("@angular/core").OutputEmitterRef; viewChange: import("@angular/core").OutputEmitterRef; expandChange: import("@angular/core").OutputEmitterRef; loadOnScroll: import("@angular/core").OutputEmitterRef; virtualScrolledIndexChange: import("@angular/core").OutputEmitterRef; tableDragStarted: import("@angular/core").OutputEmitterRef; tableDragEnded: import("@angular/core").OutputEmitterRef; tableDragDropped: import("@angular/core").OutputEmitterRef; zoomRangeChange: import("@angular/core").OutputEmitterRef<{ start: Date; end: Date; }>; private scaleService; private layoutService; keyboardService: GanttKeyboardService; private printService; private elementRef; private timelineContent; private treelistContent; private internalCollapsed; private internalGroupExpanded; hoveredTaskId: import("@angular/core").WritableSignal; private selectedTaskIds; scrollLeft: import("@angular/core").WritableSignal; private sidebarWidthOverride; private lastEmittedZoom; showLoading: import("@angular/core").WritableSignal; private loadingTimer; tooltipTask: import("@angular/core").WritableSignal; tooltipSubtask: import("@angular/core").WritableSignal; tooltipX: import("@angular/core").WritableSignal; tooltipY: import("@angular/core").WritableSignal; rowTooltipData: import("@angular/core").WritableSignal<{ allTasks: GanttTask[]; } | null>; rowTooltipX: import("@angular/core").WritableSignal; rowTooltipY: import("@angular/core").WritableSignal; linkDragLine: import("@angular/core").WritableSignal<{ x1: number; y1: number; x2: number; y2: number; } | null>; private linkDragSource; private tableDragSourceRow; virtualRange: import("@angular/core").WritableSignal<{ start: number; end: number; }>; isAreaZoomMode: import("@angular/core").WritableSignal; zoomStart: import("@angular/core").WritableSignal; zoomEnd: import("@angular/core").WritableSignal; zoomColumnWidth: import("@angular/core").WritableSignal; internalZoomLevel: import("@angular/core").WritableSignal; isDraggingZoom: import("@angular/core").WritableSignal; zoomDragStart: import("@angular/core").WritableSignal<{ x: number; y: number; } | null>; zoomDragCurrent: import("@angular/core").WritableSignal<{ x: number; y: number; } | null>; showCriticalPath: import("@angular/core").WritableSignal; criticalPathInfo: import("@angular/core").Signal<{ criticalTaskIds: Set; criticalDepKeys: Set; taskSlacks: Map; }>; toggleCriticalPath(): void; isDragToZoomEnabled: import("@angular/core").Signal; isZoomed: import("@angular/core").Signal; zoomOverlayLeft: import("@angular/core").Signal; zoomOverlayWidth: import("@angular/core").Signal; zoomOverlayDateRangeText: import("@angular/core").Signal; mergedConfig: import("@angular/core").Signal; themeVars: import("@angular/core").Signal; sidebarColumns: import("@angular/core").Signal; private effectiveTasks; private effectiveGroups; private flatRows; visibleRows: import("@angular/core").Signal; renderedRows: import("@angular/core").Signal; private dateRange; private columnDates; totalWidth: import("@angular/core").Signal; totalHeight: import("@angular/core").Signal; headerColumns: import("@angular/core").Signal<{ x: number; width: number; date: Date; label: string; isWeekend: boolean; isToday: boolean; }[]>; primaryHeaderGroups: import("@angular/core").Signal<{ x: number; width: number; label: string; }[]>; todayX: import("@angular/core").Signal; taskBars: import("@angular/core").Signal<{ task: GanttTask; left: number; width: number; top: number; isSummary: boolean; barHeight: number; rowIndex: number; primaryTaskId: string; isGroupHeader: boolean; slackWidth: number; }[]>; baselineBars: import("@angular/core").Signal<{ id: string; start: Date; end: Date; left: number; width: number; top: number; }[]>; dependencyPaths: import("@angular/core").Signal<{ dependency: GanttDependency; path: string; key: string; color: string; isCritical: boolean; }[]>; private computeCriticalPath; constructor(); isTaskSelected(taskId: string): boolean; private toggleSelection; onTimelineScroll(): void; onTreelistWheel(event: WheelEvent): void; onSplitBarDown(event: PointerEvent): void; onBarPointerDown(event: PointerEvent, task: GanttTask, mode: 'move' | 'resize-left' | 'resize-right'): void; onLinkDragStart(event: PointerEvent, task: GanttTask, side: 'start' | 'end'): void; onTableDragStart(event: DragEvent, row: FlatRow): void; onTableDragEnd(_event: DragEvent, row: FlatRow): void; onTableDragOver(event: DragEvent, row: FlatRow): void; onTableDrop(event: DragEvent, targetRow: FlatRow): void; onRowClick(task: GanttTask, event: MouseEvent): void; onTaskBarClick(task: GanttTask, event: MouseEvent): void; onTaskBarDblClick(task: GanttTask, event: MouseEvent): void; onDependencyClick(dep: GanttDependency, event: MouseEvent): void; onToggleCollapse(taskId: string): void; onToggleGroupCollapse(group: GanttGroup): void; onToolbarViewChange(vt: ZoomLevel): void; toggleAreaZoomMode(): void; resetZoom(): void; private getBestZoomLevel; private zoomToRange; onTimelinePointerDown(event: PointerEvent): void; getViewLabel(vt: ZoomLevel): string; onKeyDown(event: KeyboardEvent): void; getTaskSlackDays(taskId: string): number; isTaskCritical(taskId: string): boolean; scrollToToday(): void; scrollToDate(date: Date): void; scrollToTask(taskId: string): void; expandAll(): void; collapseAll(): void; exportAsImage(filename?: string): Promise; getImageDataUrl(): Promise; isSelected(taskId: string): boolean; getSelectedIds(): string[]; rerenderView(): void; formatDateShort(date: Date): string; formatDateFull(date: Date): string; isNameColumn(col: GanttColumnDef, index: number): boolean; isDateColumn(col: GanttColumnDef): boolean; isProgressColumn(col: GanttColumnDef): boolean; getSidebarCellValue(row: FlatRow, col: GanttColumnDef): string; showTooltip(task: GanttTask, event: MouseEvent): void; showSubtaskTooltip(task: GanttTask, subtask: GanttSubtask, event: MouseEvent): void; updateTooltipPosition(event: MouseEvent): void; hideTooltip(): void; getRowAvgProgress(row: FlatRow): number; getRowProgressTitle(row: FlatRow): string; getUniqueExtraTasks(row: FlatRow): GanttTask[]; getMetaEntries(meta: Record | undefined): { key: string; value: string; }[]; getSubtaskBars(bar: { task: GanttTask; left: number; width: number; }): { subtask: GanttSubtask; left: number; width: number; }[]; showRowTooltip(row: FlatRow, event: MouseEvent): void; updateRowTooltip(event: MouseEvent): void; hideRowTooltip(): void; toStyleStr(style: Partial): string; private positionRowTooltip; private getPrimaryLabel; private getSecondaryLabel; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; }