import { WidgetOptions } from "@csnext/cs-core";
import { GraphElement, GraphFilter } from "@csnext/cs-data";
export declare enum GridView {
    table = "table",
    cards = "cards",
    calendar = "calendar",
    tree = "tree"
}
export declare class NewRelation {
    key?: string;
    toId?: string;
    fromId?: string;
}
export declare class DataGridRelationToggle {
    enabled?: boolean;
    classId?: string;
    relationClassId?: string;
    toId?: string;
    fromId?: string;
}
export declare class DataGridCalendarOptions {
    type?: string;
}
export declare class DataGridOptions extends WidgetOptions {
    baseType?: string;
    askForName?: boolean;
    askForNewForm?: boolean;
    graphSelect?: boolean;
    selectedHeaders?: DataGridHeader[];
    showHeader: boolean;
    showRowIcon: boolean;
    onSelect?: (element: GraphElement) => {};
    onAfterAdded?: (element: GraphElement) => Promise<any>;
    defaultView: GridView;
    treeStructure?: string[];
    parentProperty?: string;
    baseTreeItem?: GraphElement;
    groupId?: string;
    canDelete?: boolean;
    relationToggle?: DataGridRelationToggle;
    calendarOptions?: DataGridCalendarOptions;
    filter?: GraphFilter;
    newItem?: any;
    newRelations?: any[];
}
export declare class DataGridFilter {
    key?: string;
    value?: string;
}
export declare class DataGridHeader {
    key?: string;
    width?: string | number;
}
