import { Dayjs } from 'dayjs'; import React from 'react'; export declare type DefaultRecordType = Record; export declare namespace Gantt { interface Major { width: number; left: number; label: string; key: string; } interface MajorAmp { label: string; startDate: Dayjs; endDate: Dayjs; } interface Minor { width: number; left: number; label: string; isWeek: boolean; key: string; } interface MinorAmp { label: string; startDate: Dayjs; endDate: Dayjs; } type Sight = 'day' | 'week' | 'month' | 'quarter' | 'halfYear'; type MoveType = 'left' | 'right' | 'move' | 'create'; enum ESightValues { day = 2880, week = 3600, month = 14400, quarter = 86400, halfYear = 115200 } interface SightConfig { type: Sight; label: string; value: ESightValues; } interface Bar { key: React.Key; label: string; width: number; translateX: number; translateY: number; stepGesture: string; invalidDateRange: boolean; dateTextFormat: (startX: number) => string; getDateWidth: (startX: number, endX: number) => string; task: Item; record: Record; loading: boolean; _group?: boolean; _collapsed: boolean; _depth: number; _index?: number; _childrenCount: number; _parent?: Item; } interface Item { record: Record; key: React.Key; startDate: string | null; endDate: string | null; content: string; collapsed: boolean; group?: boolean; children?: Item[]; _parent?: Item; _bar?: Bar; _depth?: number; _index?: number; } type Record = RecordType & { group?: boolean; borderColor?: string; backgroundColor?: string; collapsed?: boolean; children?: Record[]; disabled?: boolean; }; type ColumnAlign = 'center' | 'right' | 'left'; interface Column { width?: number; minWidth?: number; maxWidth?: number; flex?: number; name: string; label: string; style?: Object; render?: (item: Record) => React.ReactNode; align?: ColumnAlign; } type DependenceType = 'start_finish' | 'finish_start' | 'start_start' | 'finish_finish'; interface Dependence { from: string; to: string; type: DependenceType; color?: string; } }