import { DataTree, TID } from "@wx/lib-state";
import type { ITask, IParsedTask, TSort } from "./types";
export default class GanttDataTree extends DataTree<IParsedTask> {
    private _sort;
    constructor(tasks?: Partial<ITask>[]);
    parse(tasks: Partial<ITask>[], parent: TID): void;
    getBounds(start: Date, end: Date): {
        start: Date;
        end: Date;
    };
    getBranch(id: TID): IParsedTask[];
    contains(id: TID, target: TID): boolean;
    getIndexById(id: TID): number;
    add(task: Partial<ITask>, index: number): IParsedTask;
    update(id: TID, task: Partial<ITask>): void;
    copy(taskObj: ITask, parent: TID, ind: number): TID[][];
    private normalizeDates;
    normalizeTask(task: Partial<ITask>, tasks?: Partial<ITask>[]): ITask;
    getSummaryId(id: TID): TID | null;
    private fillDates;
    private getFields;
    sort(conf: TSort): void;
    sortBranch(conf: TSort, parent?: TID): void;
}
