import WtCheckbox from '../wt-checkbox/wt-checkbox.vue';
import type { WtTableHeader } from '../wt-table/types/WtTable.d.ts';
import WtTreeTableRow from '../wt-tree-table-row/wt-tree-table-row.vue';
type __VLS_Props = {
    /**
     * 'Accepts list of header objects. Draws text depending on "text" property, looks for data values through "value", "show" boolean controls visibility of a column (if undefined, all visible by default). ' Column width is calculated by "width" param. By default, sets minmax(150px, 1fr). '
     */
    headers: WtTableHeader[];
    /**
     * 'List of data, represented by table. '
     */
    data: Record<string, any>[];
    /**
     * 'If true, draws sorting arrows and sends sorting events at header click. Draws a sorting arrow by "sort": "asc"/"desc" header value. '
     */
    sortable?: boolean;
    /**
     * 'If true, draws row selection checkboxes. Checkbox toggles data object _isSelected property. It's IMPORTANT to set this property before sending data to table. '
     */
    selectable?: boolean;
    selected: any[];
    /**
     * 'If true, reserves space for 3 icon actions in the last column. Accessible by "actions" slot. '
     */
    gridActions?: boolean;
    /**
     * 'It's a key in data object, which contains children array. '
     */
    childrenProp: string;
    /**
     * 'It's a key in data object, which contains field what display searched elements. By this field, table will be opened to elements with this field value. '
     */
    searchedProp?: string;
};
declare const selectedElements: import("vue").ComputedRef<Record<string, any>[]>;
declare const isAllSelected: import("vue").ComputedRef<boolean>;
declare const dataHeaders: import("vue").ComputedRef<WtTableHeader[]>;
declare const isColSortable: ({ sort }: WtTableHeader) => boolean;
declare const sort: (col: WtTableHeader) => void;
declare const selectAll: () => void;
declare const handleSelection: (row: any, select: any) => void;
declare const __VLS_ctx: InstanceType<__VLS_PickNotAny<typeof __VLS_self, new () => {}>>;
declare var __VLS_16: {}, __VLS_25: {
    item: any;
}, __VLS_28: string, __VLS_29: {
    index: number;
    item: any;
};
type __VLS_Slots = __VLS_PrettifyGlobal<__VLS_OmitStringIndex<typeof __VLS_ctx.$slots> & {
    [K in NonNullable<typeof __VLS_28>]?: (props: typeof __VLS_29) => any;
} & {
    'actions-header'?: (props: typeof __VLS_16) => any;
} & {
    actions?: (props: typeof __VLS_25) => any;
}>;
declare const __VLS_self: import("vue").DefineComponent<__VLS_Props, {
    WtCheckbox: typeof WtCheckbox;
    WtTreeTableRow: typeof WtTreeTableRow;
    selectedElements: typeof selectedElements;
    isAllSelected: typeof isAllSelected;
    dataHeaders: typeof dataHeaders;
    isColSortable: typeof isColSortable;
    sort: typeof sort;
    selectAll: typeof selectAll;
    handleSelection: typeof handleSelection;
}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    sort: (...args: any[]) => void;
    "update:selected": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
    onSort?: (...args: any[]) => any;
    "onUpdate:selected"?: (...args: any[]) => any;
}>, {
    sortable: boolean;
    selectable: boolean;
    gridActions: boolean;
    searchedProp: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const __VLS_component: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    sort: (...args: any[]) => void;
    "update:selected": (...args: any[]) => void;
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
    onSort?: (...args: any[]) => any;
    "onUpdate:selected"?: (...args: any[]) => any;
}>, {
    sortable: boolean;
    selectable: boolean;
    gridActions: boolean;
    searchedProp: string;
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
declare const _default: __VLS_WithSlots<typeof __VLS_component, __VLS_Slots>;
export default _default;
type __VLS_WithSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
