import { Store, EventBus } from "@wx/lib-state";
import type { TDataConfig, TWritableCreator, TID } from "@wx/lib-state";
import type { IData, IDataConfig, ITask, TMethodsConfig, ILink, IVisibleArea, IParsedTask } from "./types";
export default class DataStore extends Store<IData> {
    in: EventBus<TMethodsConfig, keyof TMethodsConfig>;
    private _router;
    constructor(w: TWritableCreator);
    init(state: Partial<IDataConfig>): void;
    setState(state: Partial<IData>, ctx?: TDataConfig): import("@wx/lib-state/dist/types/types").TAsyncSignals;
    setStateAsync(state: Partial<IData>): void;
    getTask(id: TID): IParsedTask;
    private changeScale;
    private resetSummaryDates;
    private moveSummaryKids;
    private calcScaleDate;
}
type CombineTypes<T, N> = {
    [P in keyof T]: T[P] & N;
};
export type IDataMethodsConfig = CombineTypes<{
    ["add-task"]: {
        id?: TID;
        task: Partial<ITask>;
        target?: TID;
        mode?: "before" | "after" | "child";
    };
    ["update-task"]: {
        id: TID;
        task: Partial<ITask>;
        diff?: number;
        inProgress?: boolean;
        eventSource?: string;
    };
    ["delete-task"]: {
        id: TID;
        source?: TID;
    };
    ["open-task"]: {
        id: TID;
        mode: boolean;
    };
    ["select-task"]: {
        id: TID;
        toggle?: boolean;
        range?: boolean;
        show?: boolean;
    };
    ["drag-task"]: {
        id: TID;
        width?: number;
        left?: number;
        top?: number;
        inProgress?: boolean;
    };
    ["copy-task"]: {
        id: TID;
        target?: TID;
        mode?: "before" | "after" | "child";
        source?: TID;
        lazy?: boolean;
        eventSource?: string;
    };
    ["move-task"]: {
        id: TID;
        target?: TID;
        mode?: "before" | "after" | "up" | "down" | "child";
        inProgress?: boolean;
        source?: TID;
    };
    ["indent-task"]: {
        id: TID;
        mode: boolean;
    };
    ["show-editor"]: {
        id: TID;
    };
    ["add-link"]: {
        id?: TID;
        link: Partial<ILink>;
    };
    ["update-link"]: {
        id: TID;
        link: Partial<ILink>;
    };
    ["delete-link"]: {
        id: TID;
    };
    ["scroll-chart"]: {
        left?: number;
        top?: number;
    };
    ["render-data"]: IVisibleArea;
    ["request-data"]: {
        id: TID;
    };
    ["provide-data"]: {
        id: TID;
        data: {
            tasks?: Array<ITask>;
            links?: Array<ILink>;
        };
    };
    ["zoom-scale"]: {
        dir: number;
        date: Date;
        offset?: number;
    };
    ["expand-scale"]: {
        minWidth: number;
        date?: Date;
        offset?: number;
    };
    ["sort-tasks"]: {
        key: string;
        order: "asc" | "desc";
    };
}, {
    skipProvider?: boolean;
}>;
export {};
