import { Scenegraph } from './scenegraph/scenegraph'; import type { ITaskBarStyle, GanttConstructorOptions, IGrid, ITimelineHeaderStyle, IMarkLine, ITaskBarLabelText, ITaskBarLabelTextStyle, IScrollStyle, IFrameStyle, ITableColumnsDefine, ITaskBarCustomLayout, ITimelineDateInfo, ITimelineScale, ILineStyle, ITaskCreationCustomLayout, ITaskLink, ITaskBarSelectedStyle, ITaskBarHoverStyle, ITaskLinkSelectedStyle, IPointStyle, TaskBarInteractionArgumentType, IEventOptions, IMilestoneStyle, IKeyboardOptions, IMarkLineCreateOptions } from './ts-types'; import { TasksShowMode } from './ts-types'; import type { ListTableConstructorOptions } from '@visactor/vtable'; import { ListTable } from '@visactor/vtable'; import { EventManager } from './event/event-manager'; import { StateManager } from './state/state-manager'; import { EventTarget } from './event/EventTarget'; import { DataSource } from './data/DataSource'; import { PluginManager } from './plugins/plugin-manager'; import { ZoomScaleManager } from './zoom-scale'; export declare function createRootElement(padding: any, className?: string): HTMLElement; export declare class Gantt extends EventTarget { options: GanttConstructorOptions; container: HTMLElement; tableNoFrameWidth: number; tableNoFrameHeight: number; tableX: number; tableY: number; scenegraph: Scenegraph; stateManager: StateManager; eventManager: EventManager; taskListTableInstance?: ListTable; canvas: HTMLCanvasElement; element: HTMLElement; verticalSplitResizeLine: HTMLDivElement; horizontalSplitLine: HTMLDivElement; context: CanvasRenderingContext2D; timeLineHeaderLevel: number; itemCount: number; drawHeight: number; headerHeight: number; gridHeight: number; pluginManager: PluginManager; parsedOptions: { timeLineHeaderRowHeights: number[]; rowHeight: number; timelineColWidth: number; scrollStyle: IScrollStyle; timelineHeaderVerticalLineStyle: ILineStyle; timelineHeaderHorizontalLineStyle: ILineStyle; timelineHeaderBackgroundColor: string; timelineHeaderStyles: ITimelineHeaderStyle[]; sortedTimelineScales: (ITimelineScale & { timelineDates?: ITimelineDateInfo[]; })[]; reverseSortedTimelineScales: (ITimelineScale & { timelineDates?: ITimelineDateInfo[]; })[]; timeScaleIncludeHour: boolean; grid: IGrid; taskBarStyle: ITaskBarStyle | ((interactionArgs: TaskBarInteractionArgumentType) => ITaskBarStyle); taskBarMilestoneStyle: IMilestoneStyle; projectBarStyle: ITaskBarStyle | ((interactionArgs: TaskBarInteractionArgumentType) => ITaskBarStyle); baselineStyle: ITaskBarStyle | ((interactionArgs: TaskBarInteractionArgumentType) => ITaskBarStyle); taskBarMilestoneHypotenuse: number; taskBarHoverStyle: ITaskBarHoverStyle; taskBarSelectedStyle: ITaskBarSelectedStyle; taskBarSelectable: boolean; taskBarLabelText: ITaskBarLabelText; taskBarMoveable: boolean | ((interactionArgs: TaskBarInteractionArgumentType) => boolean); moveTaskBarToExtendDateRange: boolean; taskBarResizable: boolean | [boolean, boolean] | ((interactionArgs: TaskBarInteractionArgumentType) => boolean | [boolean, boolean]); taskBarProgressAdjustable: boolean | ((interactionArgs: TaskBarInteractionArgumentType) => boolean); taskBarDragOrder: boolean; taskBarLabelStyle: ITaskBarLabelTextStyle; taskBarCustomLayout: ITaskBarCustomLayout; taskBarCreatable: boolean | ((interactionArgs: TaskBarInteractionArgumentType) => boolean); taskBarCreationButtonStyle: ILineStyle & { cornerRadius?: number; backgroundColor?: string; }; taskBarCreationCustomLayout: ITaskCreationCustomLayout; taskBarCreationMaxWidth: number; taskBarCreationMinWidth: number; outerFrameStyle: IFrameStyle; pixelRatio: number; tasksShowMode: TasksShowMode; projectSubTasksExpandable: boolean; taskBarClip: boolean; taskBarLocateIcon: boolean; startDateField: string; endDateField: string; progressField: string; baselineStartDateField: string; baselineEndDateField: string; baselinePosition: 'top' | 'bottom' | 'overlap'; minDate: Date; maxDate: Date; _minDateTime: number; _maxDateTime: number; markLine: IMarkLine[]; scrollToMarkLineDate: Date; horizontalSplitLine: ILineStyle; verticalSplitLine: ILineStyle; verticalSplitLineHighlight: ILineStyle; verticalSplitLineMoveable?: boolean; overscrollBehavior: 'auto' | 'none'; dateFormat?: 'yyyy-mm-dd' | 'dd-mm-yyyy' | 'mm/dd/yyyy' | 'yyyy/mm/dd' | 'dd/mm/yyyy' | 'yyyy.mm.dd' | 'dd.mm.yyyy' | 'mm.dd.yyyy'; taskKeyField: string; dependencyLinks?: ITaskLink[]; dependencyLinkCreatable: boolean; dependencyLinkSelectable: boolean; dependencyLinkDeletable: boolean; dependencyLinkLineStyle: ILineStyle; dependencyLinkSelectedLineStyle: ITaskLinkSelectedStyle; dependencyLinkLineCreatePointStyle: IPointStyle; dependencyLinkLineCreatingPointStyle: IPointStyle; dependencyLinkLineCreatingStyle?: ILineStyle; dependencyLinkDistanceToTaskBar?: number; underlayBackgroundColor: string; eventOptions: IEventOptions; keyboardOptions: IKeyboardOptions; markLineCreateOptions: IMarkLineCreateOptions; zoom?: { minMillisecondsPerPixel?: number; maxMillisecondsPerPixel?: number; step?: number; }; }; private millisecondsPerPixel; zoomScaleManager?: ZoomScaleManager; private _timelineColWidths; private _timelineColX; private _timelineColStartTimes; private _timelineColEndTimes; recalculateTimeScale(): void; zoomByFactor(factor: number, keepCenter?: boolean, centerX?: number): void; taskTableWidth: number; taskTableColumns: ITableColumnsDefine; records: any[]; data: DataSource; constructor(container: HTMLElement, options: GanttConstructorOptions); renderTaskBarsTable(): void; _updateSize(): void; _updateListTableSize(taskListTableInstance: ListTable): void; _generateListTable(): void; _generateListTableOptions(): ListTableConstructorOptions; getElement(): HTMLElement; getContainer(): HTMLElement; _sortScales(): void; _generateTimeLineDateMap(): void; private _rebuildTimelineColXMap; getXByTime(time: number): number; getDateIndexByTime(time: number): number; getDateIndexByX(x: number): number; getRowHeightByIndex(index: number): number; getRowsHeightByIndex(startIndex: number, endIndex: number): number; getAllRowsHeight(): number; getAllHeaderRowsHeight(): number; getAllDateColsWidth(): number; getAllTaskBarsHeight(): number; getRecordIndexByTaskShowIndex(showIndex: number): number | number[]; getTaskShowIndexByRecordIndex(index: number | number[]): number; getRecordByIndex(taskShowIndex: number, sub_task_index?: number | number[]): any; _refreshTaskBar(taskShowIndex: number, sub_task_index?: number): void; _updateRecordToListTable(record: any, index: number | number[]): void; getTaskInfoByTaskListIndex(taskShowIndex: number, sub_task_index?: number | number[]): { taskRecord: any; taskDays: number; startDate: Date; endDate: Date; progress: number; }; getBaselineInfoByTaskListIndex(taskShowIndex: number, sub_task_index?: number | number[]): { baselineStartDate: Date | null; baselineEndDate: Date | null; baselineDays: number; }; _updateStartDateToTaskRecord(startDate: Date, index: number, sub_task_index?: number | number[]): void; _updateEndDateToTaskRecord(endDate: Date, index: number, sub_task_index?: number): void; _updateStartEndDateToTaskRecord(startDate: Date, endDate: Date, index: number, sub_task_index?: number): void; _updateProgressToTaskRecord(progress: number, index: number, sub_task_index?: number): void; _dragOrderTaskRecord(source_index: number, source_sub_task_index: number, target_index: number, target_sub_task_index: number): void; updateTaskRecord(record: any, task_index: number | number[]): void; updateTaskRecord(record: any, task_index: number, sub_task_index: number): void; setPixelRatio(pixelRatio: number): void; updateTasksShowMode(tasksShowMode: TasksShowMode): void; _resize(): void; _syncPropsFromTable(): void; private hasDataZoom; private getDataZoomHeight; getContext(): CanvasRenderingContext2D; release(): void; updateOption(options: GanttConstructorOptions): void; setRecords(records: any[]): void; updateScales(scales: ITimelineScale[]): void; updateDateRange(minDate: string, maxDate: string): void; updateMarkLine(markLine: IMarkLine[]): void; addMarkLine(markLine: IMarkLine): void; updateCurrentMarkLine(markLine: IMarkLine): void; _scrollToMarkLine(): void; scrollToMarkLine(date: Date): void; addLink(link: ITaskLink): void; deleteLink(link: ITaskLink): void; get scrollTop(): number; set scrollTop(value: number); get scrollLeft(): number; set scrollLeft(value: number); getTaskBarRelativeRect(index: number): { left: number; top: number; width: number; height: number; }; getDateColWidth(dateIndex: number): number; getDateColsWidth(startDateIndex: number, endDateIndex: number): number; getDateRangeByIndex(index: number): { startDate: Date; endDate: Date; }; parseTimeFormat(date: string): string; getTaskBarStyle(task_index: number, sub_task_index?: number | number[]): ITaskBarStyle; getBaselineStyle(task_index: number, sub_task_index?: number | number[]): ITaskBarStyle; formatDate(date: Date | string, format: string): string; getCurrentMillisecondsPerPixel(): number; setMillisecondsPerPixel(millisecondsPerPixel: number): void; getCurrentZoomScaleLevel(): number; }