import { BTableSortBy, TableField } from '../../types/TableTypes';
import { BTableProps } from '../../types/ComponentProps';
import { BTableSlots } from '../../types';
declare const _default: <Items>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onChange?: ((value: Items[]) => any) | undefined;
        readonly "onHead-clicked"?: ((key: string, field: TableField<Items>, event: MouseEvent, isFooter: boolean) => any) | undefined;
        readonly "onRow-clicked"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
        readonly "onRow-dblclicked"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
        readonly "onRow-contextmenu"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
        readonly "onRow-hovered"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
        readonly "onRow-unhovered"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
        readonly "onRow-middle-clicked"?: ((item: Items, index: number, event: MouseEvent) => any) | undefined;
        readonly "onUpdate:sortBy"?: ((value: BTableSortBy[] | undefined) => any) | undefined;
        readonly "onUpdate:busy"?: ((value: boolean) => any) | undefined;
        readonly "onUpdate:selectedItems"?: ((value: readonly Items[]) => any) | undefined;
        readonly onFiltered?: ((value: Items[]) => any) | undefined;
        readonly "onRow-selected"?: ((value: Items) => any) | undefined;
        readonly "onRow-unselected"?: ((value: Items) => any) | undefined;
        readonly onSorted?: ((value: BTableSortBy) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onChange" | "onHead-clicked" | "onRow-clicked" | "onRow-dblclicked" | "onRow-contextmenu" | "onRow-hovered" | "onRow-unhovered" | "onRow-middle-clicked" | "onUpdate:sortBy" | "onUpdate:busy" | "onUpdate:selectedItems" | "onFiltered" | "onRow-selected" | "onRow-unselected" | "onSorted"> & ({
        sortBy?: BTableProps<Items>["sortBy"];
        busy?: Exclude<BTableProps<Items>["busy"], undefined>;
        selectedItems?: Exclude<BTableProps<Items>["selectedItems"], undefined>;
    } & Omit<BTableProps<Items>, "busy" | "sortBy" | "selectedItems">) & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{
        items: import('vue').ComputedRef<Items[]>;
        displayItems: import('vue').ComputedRef<Items[]>;
        getStringValue: (ob: Items, key: string) => string;
        refresh: () => Promise<void>;
        clearSelected: () => void;
        selectAllRows: () => void;
        selectRow: (index: number) => void;
        unselectRow: (index: number) => void;
        isRowSelected: (index: number) => boolean;
    }>): void;
    attrs: any;
    slots: Readonly<BTableSlots<Items>> & BTableSlots<Items>;
    emit: (((evt: "change", value: Items[]) => void) & ((evt: "head-clicked", key: string, field: TableField<Items>, event: MouseEvent, isFooter: boolean) => void) & ((evt: "row-clicked", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-dblclicked", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-contextmenu", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-hovered", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-unhovered", item: Items, index: number, event: MouseEvent) => void) & ((evt: "row-middle-clicked", item: Items, index: number, event: MouseEvent) => void) & ((evt: "filtered", value: Items[]) => void) & ((evt: "row-selected", value: Items) => void) & ((evt: "row-unselected", value: Items) => void) & ((evt: "sorted", value: BTableSortBy) => void)) & (((evt: "update:sortBy", value: BTableSortBy[] | undefined) => void) & ((evt: "update:busy", value: boolean) => void) & ((evt: "update:selectedItems", value: readonly Items[]) => void));
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
