import { ColumnClassesMethod, HeaderClassesMethod, RowClassesMethod, TableColumn, TableData } from '../../types/tables';
import { NoInfer } from '../../types/utilities';
declare const _default: <const TData extends TableData, const TColumn extends TableColumn<TData>>(__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 "onUpdate:selected"?: ((value: TData[]) => any) | undefined;
        readonly "onRow:click"?: ((value: {
            row: TData;
            rowIndex: number;
        }) => any) | undefined;
    } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, "onUpdate:selected" | "onRow:click"> & {
        data: TData[];
        selected?: TData[];
        columns?: TColumn[];
        rowClasses?: RowClassesMethod<NoInfer<TData>>;
        headerClasses?: HeaderClassesMethod<NoInfer<TData>>;
        columnClasses?: ColumnClassesMethod<NoInfer<TData>>;
        rowKey?: (row: TData, index: number) => string | number;
        columnKey?: (column: TColumn, index: number) => string | number;
        headerColumnKey?: (column: TColumn, index: number) => string | number;
    } & {}> & import("vue").PublicProps;
    expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
    attrs: any;
    slots: {
        [x: `${string}-heading`]: ((props: {
            column: TColumn;
        }) => any) | undefined;
    } & {
        [x: string]: ((props: {
            column: TColumn;
            row: TData;
            value: any;
        }) => any) | undefined;
    } & {
        default?: (props: {}) => any;
    } & {
        header?: (props: {}) => any;
    } & {
        'row-after'?: (props: {
            row: TData;
            rowIndex: number;
        }) => any;
    } & {
        'empty-state'?: (props: {}) => any;
    } & {
        footer?: (props: {}) => any;
    };
    emit: {
        (event: "update:selected", value: TData[]): void;
        (event: "row:click", value: {
            row: TData;
            rowIndex: number;
        }): void;
    };
}>) => import("vue").VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T as K]: T[K];
} & {};
