import { WidgetBase } from "@csnext/cs-client";
import "ag-grid-community/dist/styles/ag-grid.css";
import "ag-grid-community/dist/styles/ag-theme-alpine.css";
import "ag-grid-community/dist/styles/ag-theme-alpine-dark.css";
import { FeatureType, GraphElement, PropertyType } from "@csnext/cs-data";
import { DocDatasource, DataGridOptions } from "./../../index";
import { CellValueChangedEvent, ColDef, GridApi } from "ag-grid-community";
export default class ElementDataGrid extends WidgetBase {
    toggle_view: number;
    featureType: FeatureType | null;
    potentialProperties: {
        [key: string]: PropertyType;
    };
    sort: PropertyType | undefined;
    group: PropertyType | undefined | null;
    classTypes: FeatureType[];
    sortOptions?: PropertyType[] | null;
    groupOptions?: PropertyType[] | null;
    groupKey?: null | string;
    focus: string;
    search: string;
    selectedTree?: any;
    items: GraphElement[] | undefined;
    iso?: any;
    calendar?: any;
    treeView?: any;
    gridApi?: GridApi;
    columnApi: any | null;
    rowData: any | null;
    columnDefs: ColDef[] | null;
    typeToLabel: {
        month: string;
        week: string;
        day: string;
        "4day": string;
    };
    headers: any[];
    autoGroupColumnDef: {
        headerName: string;
        field: string;
        minWidth: number;
        cellRenderer: string;
        cellRendererParams: {
            checkbox: boolean;
        };
    };
    defaultColDef: ColDef;
    treeItems: any[];
    upToDate: boolean;
    get options(): DataGridOptions;
    isLinked(element: GraphElement): boolean;
    onCellValueChanged(event: CellValueChangedEvent): void;
    onGridSelection(): void;
    resize(): void;
    onGridReady(params: any): void;
    selectEntity(element: GraphElement): void;
    selectEntityCard(element: GraphElement): void;
    itemPropValue(prop: PropertyType, element: GraphElement): any;
    setToday(): void;
    graphNode(element: GraphElement): void;
    treeSelectionChanged(): void;
    viewChanged(): void;
    openTreeItem(item: any): void;
    expandTree(): void;
    collapseTree(): void;
    toggleCheckbox(entity: GraphElement): Promise<void>;
    toggleLinked(entity: GraphElement): Promise<void>;
    itemPropValues(prop: PropertyType, element: GraphElement): any;
    private filterDataTable;
    get source(): DocDatasource | undefined;
    selectElement(element: GraphElement, selected: boolean): void;
    clickCalendarItem(e: any): void;
    updateLayout(): void;
    updateHeaders(): void;
    setSort(prop: PropertyType): void;
    setGroup(prop?: PropertyType | string): void;
    selectTableItem(item: GraphElement): void;
    prev(): void;
    next(): void;
    getIsoOptions(): {
        itemSelector: string;
        layoutMode: string;
        getSortData: {
            name: (s: any) => any;
            custom: (s: any) => any;
        };
        sortBy: string;
        masonry: {
            columnWidth: string;
        };
    };
    addChildEntity(type: FeatureType, parent?: GraphElement): Promise<void>;
    addEntity(type: FeatureType, parent?: GraphElement): Promise<void>;
    editEntity(element: GraphElement): void;
    removeEntity(entity: GraphElement): void;
    constructor();
    updateTree(treeItems: any[], base?: GraphElement, active?: any): any[] | undefined;
    viewDay(date: string): void;
    updateEntities(force?: boolean): void;
    updateLinkedEntities(): void;
    update(): void;
    dateString(date: number): string;
    contentLoaded(source: DocDatasource): void;
    private getElementCard;
    mounted(): void;
}
