import type { Booleanish, BTableLiteProps, BTableProvider, BTableSortCompare, LiteralUnion, TableField, TableFieldObject, TableItem } from '../../types';
type NoProviderTypes = 'paging' | 'sorting' | 'filtering';
declare const _default: __VLS_WithTemplateSlots<import("vue").DefineComponent<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    provider?: BTableProvider | undefined;
    sortCompare?: BTableSortCompare | undefined;
    noProvider?: NoProviderTypes[] | undefined;
    noProviderPaging?: Booleanish | undefined;
    noProviderSorting?: Booleanish | undefined;
    noProviderFiltering?: Booleanish | undefined;
    sortBy?: string | undefined;
    sortDesc?: Booleanish | undefined;
    selectable?: Booleanish | undefined;
    stickySelect?: Booleanish | undefined;
    selectHead?: string | boolean | undefined;
    selectMode?: "range" | "single" | "multi" | undefined;
    selectionVariant?: keyof import("../../types").BaseColorVariant | null | undefined;
    busy?: Booleanish | undefined;
    busyLoadingText?: string | undefined;
    perPage?: string | number | undefined;
    currentPage?: string | number | undefined;
    filter?: string | undefined;
    filterable?: string[] | undefined;
    selectedItems?: TableItem[] | undefined;
    noSortableIcon?: Booleanish | undefined;
} & Omit<BTableLiteProps, "tableClass">>, {
    noSortableIcon: boolean;
    perPage: number;
    sortBy: undefined;
    filter: undefined;
    filterable: undefined;
    provider: undefined;
    sortCompare: undefined;
    noProvider: undefined;
    noProviderPaging: boolean;
    noProviderSorting: boolean;
    noProviderFiltering: boolean;
    sortDesc: boolean;
    selectable: boolean;
    stickySelect: boolean;
    selectHead: boolean;
    selectMode: string;
    selectionVariant: string;
    busy: boolean;
    busyLoadingText: string;
    currentPage: number;
    selectedItems: () => never[];
    items: () => never[];
    fields: () => never[];
    caption: undefined;
    align: undefined;
    footClone: undefined;
    labelStacked: undefined;
    showEmpty: undefined;
    emptyText: undefined;
    emptyFilteredText: undefined;
    fieldColumnClass: undefined;
    tbodyTrClass: undefined;
    captionHtml: undefined;
    detailsTdClass: undefined;
    headVariant: undefined;
    headRowVariant: undefined;
    footRowVariant: undefined;
    footVariant: undefined;
    modelValue: undefined;
    primaryKey: undefined;
    tbodyClass: undefined;
    tbodyTrAttr: undefined;
    tfootClass: undefined;
    tfootTrClass: undefined;
    theadClass: undefined;
    theadTrClass: undefined;
    borderVariant: undefined;
    variant: undefined;
    bordered: undefined;
    borderless: undefined;
    captionTop: undefined;
    dark: undefined;
    hover: undefined;
    id: undefined;
    noBorderCollapse: undefined;
    outlined: undefined;
    fixed: undefined;
    responsive: undefined;
    stacked: undefined;
    striped: undefined;
    stripedColumns: undefined;
    small: undefined;
    stickyHeader: undefined;
}>, {
    clearSelected: () => void;
    refresh: () => Promise<void>;
    selectAllRows: () => void;
    selectRow: (index: number) => void;
    unselectRow: (index: number) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
    "head-clicked": (key: LiteralUnion<string>, field: TableField, event: MouseEvent, isFooter: boolean) => void;
    "row-clicked": (item: TableItem, index: number, event: MouseEvent) => void;
    "row-dbl-clicked": (item: TableItem, index: number, event: MouseEvent) => void;
    "row-hovered": (item: TableItem, index: number, event: MouseEvent) => void;
    "row-unhovered": (item: TableItem, index: number, event: MouseEvent) => void;
    filtered: (value: TableItem[]) => void;
    "row-selected": (value: TableItem) => void;
    "row-unselected": (value: TableItem) => void;
    selection: (value: TableItem[]) => void;
    sorted: (sortBy: string, isDesc: boolean) => void;
    "update:busy": (value: boolean) => void;
    "update:selectedItems": (value: TableItem[]) => void;
    "update:sortDesc": (value: boolean) => void;
    "update:sortBy": (value: string) => void;
}, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<__VLS_WithDefaults<__VLS_TypePropsToRuntimeProps<{
    provider?: BTableProvider | undefined;
    sortCompare?: BTableSortCompare | undefined;
    noProvider?: NoProviderTypes[] | undefined;
    noProviderPaging?: Booleanish | undefined;
    noProviderSorting?: Booleanish | undefined;
    noProviderFiltering?: Booleanish | undefined;
    sortBy?: string | undefined;
    sortDesc?: Booleanish | undefined;
    selectable?: Booleanish | undefined;
    stickySelect?: Booleanish | undefined;
    selectHead?: string | boolean | undefined;
    selectMode?: "range" | "single" | "multi" | undefined;
    selectionVariant?: keyof import("../../types").BaseColorVariant | null | undefined;
    busy?: Booleanish | undefined;
    busyLoadingText?: string | undefined;
    perPage?: string | number | undefined;
    currentPage?: string | number | undefined;
    filter?: string | undefined;
    filterable?: string[] | undefined;
    selectedItems?: TableItem[] | undefined;
    noSortableIcon?: Booleanish | undefined;
} & Omit<BTableLiteProps, "tableClass">>, {
    noSortableIcon: boolean;
    perPage: number;
    sortBy: undefined;
    filter: undefined;
    filterable: undefined;
    provider: undefined;
    sortCompare: undefined;
    noProvider: undefined;
    noProviderPaging: boolean;
    noProviderSorting: boolean;
    noProviderFiltering: boolean;
    sortDesc: boolean;
    selectable: boolean;
    stickySelect: boolean;
    selectHead: boolean;
    selectMode: string;
    selectionVariant: string;
    busy: boolean;
    busyLoadingText: string;
    currentPage: number;
    selectedItems: () => never[];
    items: () => never[];
    fields: () => never[];
    caption: undefined;
    align: undefined;
    footClone: undefined;
    labelStacked: undefined;
    showEmpty: undefined;
    emptyText: undefined;
    emptyFilteredText: undefined;
    fieldColumnClass: undefined;
    tbodyTrClass: undefined;
    captionHtml: undefined;
    detailsTdClass: undefined;
    headVariant: undefined;
    headRowVariant: undefined;
    footRowVariant: undefined;
    footVariant: undefined;
    modelValue: undefined;
    primaryKey: undefined;
    tbodyClass: undefined;
    tbodyTrAttr: undefined;
    tfootClass: undefined;
    tfootTrClass: undefined;
    theadClass: undefined;
    theadTrClass: undefined;
    borderVariant: undefined;
    variant: undefined;
    bordered: undefined;
    borderless: undefined;
    captionTop: undefined;
    dark: undefined;
    hover: undefined;
    id: undefined;
    noBorderCollapse: undefined;
    outlined: undefined;
    fixed: undefined;
    responsive: undefined;
    stacked: undefined;
    striped: undefined;
    stripedColumns: undefined;
    small: undefined;
    stickyHeader: undefined;
}>>> & {
    "onHead-clicked"?: ((key: LiteralUnion<string>, field: TableField, event: MouseEvent, isFooter: boolean) => any) | undefined;
    "onRow-clicked"?: ((item: TableItem, index: number, event: MouseEvent) => any) | undefined;
    "onRow-dbl-clicked"?: ((item: TableItem, index: number, event: MouseEvent) => any) | undefined;
    "onRow-hovered"?: ((item: TableItem, index: number, event: MouseEvent) => any) | undefined;
    "onRow-unhovered"?: ((item: TableItem, index: number, event: MouseEvent) => any) | undefined;
    onFiltered?: ((value: TableItem[]) => any) | undefined;
    "onRow-selected"?: ((value: TableItem) => any) | undefined;
    "onRow-unselected"?: ((value: TableItem) => any) | undefined;
    onSelection?: ((value: TableItem[]) => any) | undefined;
    onSorted?: ((sortBy: string, isDesc: boolean) => any) | undefined;
    "onUpdate:busy"?: ((value: boolean) => any) | undefined;
    "onUpdate:selectedItems"?: ((value: TableItem[]) => any) | undefined;
    "onUpdate:sortDesc"?: ((value: boolean) => any) | undefined;
    "onUpdate:sortBy"?: ((value: string) => any) | undefined;
}, {
    filter: string;
    dark: Booleanish;
    caption: string;
    small: Booleanish;
    id: string;
    align: import("../../types").VerticalAlign;
    variant: keyof import("../../types").BaseColorVariant | null;
    fixed: Booleanish;
    modelValue: any;
    striped: Booleanish;
    items: TableItem[];
    borderVariant: keyof import("../../types").BaseColorVariant | null;
    captionHtml: string;
    stacked: Booleanish | import("../../types").Breakpoint;
    busy: Booleanish;
    perPage: string | number;
    bordered: Booleanish;
    borderless: Booleanish;
    captionTop: Booleanish;
    hover: Booleanish;
    noBorderCollapse: Booleanish;
    outlined: Booleanish;
    responsive: Booleanish | import("../../types").Breakpoint;
    stickyHeader: Booleanish;
    stripedColumns: Booleanish;
    detailsTdClass: any;
    emptyFilteredText: string;
    emptyText: string;
    fieldColumnClass: string | any[] | ((field: TableFieldObject<Record<string, unknown>>) => Record<string, any>[]) | Record<PropertyKey, any>;
    fields: TableField[];
    footClone: Booleanish;
    footRowVariant: keyof import("../../types").BaseColorVariant | null;
    footVariant: keyof import("../../types").BaseColorVariant | null;
    headRowVariant: keyof import("../../types").BaseColorVariant | null;
    headVariant: keyof import("../../types").BaseColorVariant | null;
    labelStacked: Booleanish;
    primaryKey: string;
    showEmpty: Booleanish;
    tbodyClass: any;
    tbodyTrAttr: any;
    tbodyTrClass: string | any[] | Record<PropertyKey, any> | ((item: TableItem | null, type: string) => string | any[] | null | undefined);
    tfootClass: any;
    tfootTrClass: any;
    theadClass: any;
    theadTrClass: any;
    provider: BTableProvider;
    sortCompare: BTableSortCompare;
    noProvider: NoProviderTypes[];
    noProviderPaging: Booleanish;
    noProviderSorting: Booleanish;
    noProviderFiltering: Booleanish;
    sortBy: string;
    sortDesc: Booleanish;
    selectable: Booleanish;
    stickySelect: Booleanish;
    selectHead: string | boolean;
    selectMode: "range" | "single" | "multi";
    selectionVariant: keyof import("../../types").BaseColorVariant | null;
    busyLoadingText: string;
    currentPage: string | number;
    filterable: string[];
    selectedItems: TableItem[];
    noSortableIcon: Booleanish;
}, {}>, Partial<Record<NonNullable<string | number>, (_: {
    value: unknown;
    index: number;
    item: TableItem;
    field: TableFieldObject<Record<string, unknown>>;
    items: TableItem[];
    toggleDetails: () => void;
    detailsShowing: boolean;
}) => any>> & {
    sortAsc?(_: {
        value: unknown;
        index: number;
        item: TableItem;
        field: TableFieldObject<Record<string, unknown>>;
        items: TableItem[];
        toggleDetails: () => void;
        detailsShowing: boolean;
    }): any;
    sortDesc?(_: {
        value: unknown;
        index: number;
        item: TableItem;
        field: TableFieldObject<Record<string, unknown>>;
        items: TableItem[];
        toggleDetails: () => void;
        detailsShowing: boolean;
    }): any;
    "table-busy"?(_: {}): any;
}>;
export default _default;
type __VLS_NonUndefinedable<T> = T extends undefined ? never : T;
type __VLS_TypePropsToRuntimeProps<T> = {
    [K in keyof T]-?: {} extends Pick<T, K> ? {
        type: import('vue').PropType<__VLS_NonUndefinedable<T[K]>>;
    } : {
        type: import('vue').PropType<T[K]>;
        required: true;
    };
};
type __VLS_WithDefaults<P, D> = {
    [K in keyof Pick<P, keyof P>]: K extends keyof D ? __VLS_Prettify<P[K] & {
        default: D[K];
    }> : P[K];
};
type __VLS_Prettify<T> = {
    [K in keyof T]: T[K];
} & {};
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
