import { BTableLiteProps } from '../../types/ComponentProps';
import { TableField } from '../../types/TableTypes';
import { LiteralUnion } from '../../types/LiteralUnion';
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 "onHead-clicked"?: ((key: string, field: TableField<Items> & {
            _noHeader?: true;
        }, 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;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onHead-clicked" | "onRow-clicked" | "onRow-dblclicked" | "onRow-contextmenu" | "onRow-hovered" | "onRow-unhovered" | "onRow-middle-clicked"> & BTableLiteProps<Items>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: Readonly<{
        [key: `head(${string})`]: (props: {
            label: string | undefined;
            column: LiteralUnion<keyof Items>;
            field: TableField<Items> & {
                _noHeader?: true;
            };
            isFoot: false;
        }) => any;
        [key: `cell(${string})`]: (props: {
            value: unknown;
            unformatted: unknown;
            index: number;
            item: Items;
            field: TableField<Items> & {
                _noHeader?: true;
            };
            items: readonly Items[];
            toggleDetails: () => void;
            detailsShowing: boolean;
        }) => any;
        [key: `foot(${string})`]: (props: {
            label: string | undefined;
            column: LiteralUnion<keyof Items>;
            field: TableField<Items> & {
                _noHeader?: true;
            };
            isFoot: true;
        }) => any;
        'thead-top'?: (props: {
            columns: number;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
        }) => any;
        'thead-sub'?: (props: {
            items: readonly Items[];
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            field: TableField<Items> & {
                _noHeader?: true;
            };
        }) => any;
        'custom-body'?: (props: {
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            items: readonly Items[];
            columns: number;
        }) => any;
        'top-row'?: (props: {
            columns: number;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
        }) => any;
        'row-details'?: (props: {
            item: Items;
            toggleDetails: () => void;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            index: number;
        }) => any;
        'bottom-row'?: (props: {
            columns: number;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
        }) => any;
        'custom-foot'?: (props: {
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            items: readonly Items[];
            columns: number;
        }) => any;
        'table-caption'?: (props: Record<string, never>) => any;
    }> & {
        [key: `head(${string})`]: (props: {
            label: string | undefined;
            column: LiteralUnion<keyof Items>;
            field: TableField<Items> & {
                _noHeader?: true;
            };
            isFoot: false;
        }) => any;
        [key: `cell(${string})`]: (props: {
            value: unknown;
            unformatted: unknown;
            index: number;
            item: Items;
            field: TableField<Items> & {
                _noHeader?: true;
            };
            items: readonly Items[];
            toggleDetails: () => void;
            detailsShowing: boolean;
        }) => any;
        [key: `foot(${string})`]: (props: {
            label: string | undefined;
            column: LiteralUnion<keyof Items>;
            field: TableField<Items> & {
                _noHeader?: true;
            };
            isFoot: true;
        }) => any;
        'thead-top'?: (props: {
            columns: number;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
        }) => any;
        'thead-sub'?: (props: {
            items: readonly Items[];
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            field: TableField<Items> & {
                _noHeader?: true;
            };
        }) => any;
        'custom-body'?: (props: {
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            items: readonly Items[];
            columns: number;
        }) => any;
        'top-row'?: (props: {
            columns: number;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
        }) => any;
        'row-details'?: (props: {
            item: Items;
            toggleDetails: () => void;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            index: number;
        }) => any;
        'bottom-row'?: (props: {
            columns: number;
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
        }) => any;
        'custom-foot'?: (props: {
            fields: (TableField<Items> & {
                _noHeader?: true;
            })[];
            items: readonly Items[];
            columns: number;
        }) => any;
        'table-caption'?: (props: Record<string, never>) => any;
    };
    emit: ((evt: "head-clicked", key: string, field: TableField<Items> & {
        _noHeader?: true;
    }, 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);
}>) => import('vue').VNode<import('vue').RendererNode, import('vue').RendererElement, {
    [key: string]: any;
}> & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
