import { TableFilterValues, TableInstance, TableProps, TableResolvedColumn, TableScrollPayload, TableSortChangePayload, TableSortOrder } from './table.js';
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, VNode } from 'vue';
declare const _default: <T extends Record<string, unknown>>(__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 onScroll?: ((payload: TableScrollPayload) => any) | undefined;
        readonly onSelect?: ((selection: T[], row: T) => any) | undefined;
        readonly "onSelect-all"?: ((selection: T[]) => any) | undefined;
        readonly "onCurrent-change"?: ((currentRow: T | null, oldCurrentRow: T | null) => any) | undefined;
        readonly "onSelection-change"?: ((selection: T[]) => any) | undefined;
        readonly "onUpdate:currentRowKey"?: ((value: string | number | null) => any) | undefined;
        readonly "onUpdate:sortProp"?: ((value: string | undefined) => any) | undefined;
        readonly "onUpdate:sortOrder"?: ((value: TableSortOrder) => any) | undefined;
        readonly "onSort-change"?: ((payload: TableSortChangePayload<T>) => any) | undefined;
        readonly "onUpdate:filterValues"?: ((value: TableFilterValues) => any) | undefined;
        readonly "onFilter-change"?: ((value: TableFilterValues) => any) | undefined;
        readonly "onUpdate:expandRowKeys"?: ((value: (string | number)[]) => any) | undefined;
        readonly "onExpand-change"?: ((row: T, expandedRows: boolean | T[]) => any) | undefined;
        readonly "onRow-click"?: ((row: T, column: TableResolvedColumn<T> | undefined, event: KeyboardEvent | MouseEvent) => any) | undefined;
        readonly "onRow-dblclick"?: ((row: T, column: TableResolvedColumn<T> | undefined, event: MouseEvent) => any) | undefined;
        readonly "onRow-contextmenu"?: ((row: T, column: TableResolvedColumn<T> | undefined, event: MouseEvent) => any) | undefined;
        readonly "onCell-click"?: ((row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => any) | undefined;
        readonly "onCell-dblclick"?: ((row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => any) | undefined;
        readonly "onCell-contextmenu"?: ((row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => any) | undefined;
        readonly "onCell-mouse-enter"?: ((row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => any) | undefined;
        readonly "onCell-mouse-leave"?: ((row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => any) | undefined;
        readonly "onHeader-click"?: ((column: TableResolvedColumn<T>, event: MouseEvent) => any) | undefined;
        readonly "onHeader-contextmenu"?: ((column: TableResolvedColumn<T>, event: MouseEvent) => any) | undefined;
        readonly "onHeader-dragend"?: ((newWidth: number, oldWidth: number, column: TableResolvedColumn<T>, event: MouseEvent) => any) | undefined;
    } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onScroll" | "onSelect" | "onCurrent-change" | "onRow-click" | "onRow-dblclick" | "onRow-contextmenu" | "onCell-click" | "onCell-dblclick" | "onCell-contextmenu" | "onCell-mouse-enter" | "onCell-mouse-leave" | "onHeader-click" | "onHeader-contextmenu" | "onHeader-dragend" | "onSelect-all" | "onSelection-change" | "onUpdate:currentRowKey" | "onUpdate:sortProp" | "onUpdate:sortOrder" | "onSort-change" | "onUpdate:filterValues" | "onFilter-change" | "onUpdate:expandRowKeys" | "onExpand-change"> & TableProps<T> & Partial<{}>> & PublicProps;
    expose(exposed: ShallowUnwrapRef<TableInstance<T>>): void;
    attrs: any;
    slots: {
        default?(_: {}): any;
        loading?(_: {}): any;
        empty?(_: {}): any;
        append?(_: {}): any;
    };
    emit: ((evt: "scroll", payload: TableScrollPayload) => void) & ((evt: "select", selection: T[], row: T) => void) & ((evt: "select-all", selection: T[]) => void) & ((evt: "current-change", currentRow: T | null, oldCurrentRow: T | null) => void) & ((evt: "selection-change", selection: T[]) => void) & ((evt: "update:currentRowKey", value: string | number | null) => void) & ((evt: "update:sortProp", value: string | undefined) => void) & ((evt: "update:sortOrder", value: TableSortOrder) => void) & ((evt: "sort-change", payload: TableSortChangePayload<T>) => void) & ((evt: "update:filterValues", value: TableFilterValues) => void) & ((evt: "filter-change", value: TableFilterValues) => void) & ((evt: "update:expandRowKeys", value: (string | number)[]) => void) & ((evt: "expand-change", row: T, expandedRows: boolean | T[]) => void) & ((evt: "row-click", row: T, column: TableResolvedColumn<T> | undefined, event: KeyboardEvent | MouseEvent) => void) & ((evt: "row-dblclick", row: T, column: TableResolvedColumn<T> | undefined, event: MouseEvent) => void) & ((evt: "row-contextmenu", row: T, column: TableResolvedColumn<T> | undefined, event: MouseEvent) => void) & ((evt: "cell-click", row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => void) & ((evt: "cell-dblclick", row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => void) & ((evt: "cell-contextmenu", row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => void) & ((evt: "cell-mouse-enter", row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => void) & ((evt: "cell-mouse-leave", row: T, column: TableResolvedColumn<T>, cell: HTMLTableCellElement, event: MouseEvent) => void) & ((evt: "header-click", column: TableResolvedColumn<T>, event: MouseEvent) => void) & ((evt: "header-contextmenu", column: TableResolvedColumn<T>, event: MouseEvent) => void) & ((evt: "header-dragend", newWidth: number, oldWidth: number, column: TableResolvedColumn<T>, event: MouseEvent) => void);
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
