import type { Column } from '../../../components/ActindoDataTable/models/column';
import type { ISort } from '../../../types/query';
import { SORT_TYPE, ROW_SELECTION } from '../../../components/ActindoDataTable/constants';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<{
    selected: {
        type: import("vue").PropType<boolean[]>;
        default: () => any[];
    };
    transparent: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    isLoading: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    headers: {
        type: import("vue").PropType<Column[]>;
        required: true;
    };
    rowHeight: {
        type: import("vue").PropType<string>;
        default: any;
    };
    rows: {
        type: import("vue").PropType<object[]>;
        required: true;
    };
    sorters: {
        type: import("vue").PropType<ISort[]>;
        required: true;
    };
    sortType: {
        type: import("vue").PropType<SORT_TYPE>;
        default: SORT_TYPE;
    };
    hideFilters: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    rowSelection: {
        type: import("vue").PropType<ROW_SELECTION>;
        default: ROW_SELECTION;
    };
    canReorderHeaders: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    selectedProperty: {
        type: import("vue").PropType<string>;
        default: string;
    };
}, {}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "update:selected": (selected: boolean[]) => void;
    create: (eventName: string) => void;
    "clicked-row": (selectedRow: Record<string, any>) => void;
    "dbl-clicked-row": (selectedRow: Record<string, any>) => void;
    "sort-column": (column: Column, triggeredByEvent?: MouseEvent) => void;
    "filter-column": (column: Column) => void;
    "update-width": (width: number, header: Column) => void;
    "update:headers": (headers: Column[]) => void;
    "update:rows": (newRows: object[]) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    selected: {
        type: import("vue").PropType<boolean[]>;
        default: () => any[];
    };
    transparent: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    isLoading: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    headers: {
        type: import("vue").PropType<Column[]>;
        required: true;
    };
    rowHeight: {
        type: import("vue").PropType<string>;
        default: any;
    };
    rows: {
        type: import("vue").PropType<object[]>;
        required: true;
    };
    sorters: {
        type: import("vue").PropType<ISort[]>;
        required: true;
    };
    sortType: {
        type: import("vue").PropType<SORT_TYPE>;
        default: SORT_TYPE;
    };
    hideFilters: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    rowSelection: {
        type: import("vue").PropType<ROW_SELECTION>;
        default: ROW_SELECTION;
    };
    canReorderHeaders: {
        type: import("vue").PropType<boolean>;
        default: boolean;
    };
    selectedProperty: {
        type: import("vue").PropType<string>;
        default: string;
    };
}>> & {
    onCreate?: (eventName: string) => any;
    "onUpdate:selected"?: (selected: boolean[]) => any;
    "onClicked-row"?: (selectedRow: Record<string, any>) => any;
    "onDbl-clicked-row"?: (selectedRow: Record<string, any>) => any;
    "onSort-column"?: (column: Column, triggeredByEvent?: MouseEvent) => any;
    "onFilter-column"?: (column: Column) => any;
    "onUpdate-width"?: (width: number, header: Column) => any;
    "onUpdate:headers"?: (headers: Column[]) => any;
    "onUpdate:rows"?: (newRows: object[]) => any;
}, {
    selected: boolean[];
    transparent: boolean;
    isLoading: boolean;
    rowHeight: string;
    sortType: SORT_TYPE;
    hideFilters: boolean;
    rowSelection: ROW_SELECTION;
    canReorderHeaders: boolean;
    selectedProperty: string;
}, {}>, Partial<Record<string, (_: {
    column: any;
    headerValue: any;
}) => any>> & Partial<Record<string, (_: {
    row: any;
    rowIndex: any;
    cell: {
        id: string;
        isVisible: boolean;
        visibilityField?: string;
        accessorFn: import('../../../components/ActindoDataTable/models/column').IAccessorFunction;
        header: string;
        filterable: boolean | import('../../../components/ui-package').IItem[] | import("../filters").FILTER_TYPES;
        filterListValues: import('../../../components/ui-package').IItem[];
        sortable: boolean | import("../sorters").SORTER_TYPES;
        sortedBy: import('../../../types/query').SORT_ORDER;
        sortIndex: number;
        width?: number;
        minWidth?: number;
        cellProps: Record<string, any>;
        render: (row: Record<string, unknown>) => any;
    };
    cellValue: any;
}) => any>> & {
    row?(_: {
        colspan: number;
        headers: Column[];
        rowIndex: any;
        row: any;
        rowSelection: ROW_SELECTION;
        isAllSelected: boolean;
        isSelected: boolean;
        singleSelection: (value: any) => void;
        changeSelection: (value: any) => void;
    }): any;
}>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
