import { GanttDate } from '../utils/date'; import { BehaviorSubject } from 'rxjs'; import { GanttViewType } from './view-type'; import { GanttLink } from './link'; interface GanttItemRefs { width: number; x: number; y: number; } export declare enum GanttItemType { bar = "bar", range = "range", custom = "custom" } export interface GanttItem { id: string; title: string; start?: number; end?: number; group_id?: string; links?: (GanttLink | string)[]; draggable?: boolean; linkable?: boolean; expandable?: boolean; expanded?: boolean; children?: GanttItem[]; color?: string; barStyle?: Partial; origin?: T; type?: GanttItemType; progress?: number; } export declare class GanttItemInternal { id: string; title: string; start: GanttDate; end: GanttDate; links: GanttLink[]; color?: string; barStyle?: Partial; draggable?: boolean; linkable?: boolean; origin: GanttItem; expandable?: boolean; expanded?: boolean; loading: boolean; children: GanttItemInternal[]; type?: GanttItemType; progress?: number; viewType?: GanttViewType; get refs(): { width: number; x: number; y: number; }; refs$: BehaviorSubject<{ width: number; x: number; y: number; }>; constructor(item: GanttItem, options?: { viewType: GanttViewType; }); fillItemStartOrEnd(item: GanttItem): void; updateRefs(refs: GanttItemRefs): void; updateDate(start: GanttDate, end: GanttDate): void; addChildren(items: GanttItem[]): void; setExpand(expanded: boolean): void; addLink(link: GanttLink): void; } export {};