export declare type DataTableDataItem = any;
export interface TreeNodeDataItem {
    label?: string;
    data: any;
    children?: TreeNodeDataItem[];
    expanded?: boolean;
    parent?: TreeNodeDataItem;
    type?: string;
    isLeaf?: boolean;
    canExpand?: boolean;
    selected?: boolean;
    isBusy?: boolean;
}
export interface EditableDataItem {
    id: string;
    content: DataTableDataItem;
    validationAlerts: {
        [field: string]: any;
    };
    isNewRow: boolean;
}
export interface EditableDataChangeSet {
    addedItems: DataTableDataItem[];
    updatedItems: DataTableDataItem[];
    deletedItems: DataTableDataItem[];
}
export interface DataTableRenderedItem {
    data: DataTableDataItem;
    type: DataTableRenderedItemType;
    groupExpanded?: boolean;
    depth?: number;
    hasChildren?: boolean;
    node?: TreeNodeDataItem;
    setSize?: number;
    positionInSet?: number;
    index: number;
    validationResult?: {
        field: string;
        alert: any;
    }[];
    hovered?: boolean;
}
export declare enum DataTableRenderedItemType {
    Normal = 0,
    GroupHeader = 1,
    GroupItem = 2,
    TreeNode = 3
}
export declare enum DataTableMultipleSelectMode {
    Single = "single",
    Multiple = "multiple"
}
export interface DataTableLazyLoadEvent {
    start: number;
    length: number;
    finishLoadingData: (data: DataTableDataItem[], allData: DataTableDataItem[]) => void;
    sortOrder: number;
    sortField: string;
}
export interface DataTableCustomSortEvent {
    direction: number;
    field: string;
    fallBackToDefaultSort: () => void;
}
export declare enum DataTableSortMode {
    None = 0,
    Ascend = 1,
    Descend = 2
}
export declare enum DataTableMultipleSelectMode {
    Normal = 0,
    Pick = 1,
    Sequential = 2
}
export interface NodeNavigatingTask {
    isRunning: boolean;
    pathSections: string[];
    currentPathSectionIndex: number;
    currentRenderedItemIndex: number;
    onTaskFinished: (found: boolean) => void;
    currentPathSectionStartTime: Date;
}
