import { TableCellClassName, TableCellSlotProps, TableCellStyle, TableResolvedColumn, TableRowClassName, TableRowStyle } from '../table.js';
import { TableStore } from '../store/index.js';
import { VNodeProps, AllowedComponentProps, ComponentCustomProps, PublicProps, ShallowUnwrapRef, Ref, 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 "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;
    } & VNodeProps & AllowedComponentProps & ComponentCustomProps, never>, "onRow-click" | "onRow-dblclick" | "onRow-contextmenu" | "onCell-click" | "onCell-dblclick" | "onCell-contextmenu" | "onCell-mouse-enter" | "onCell-mouse-leave"> & {
        store: TableStore<T>;
        columns?: TableResolvedColumn<T>[];
        panel?: "right" | "left" | "main";
        rowClassName?: TableRowClassName<T>;
        rowStyle?: TableRowStyle<T>;
        cellClassName?: TableCellClassName<T>;
        cellStyle?: TableCellStyle<T>;
        clickable?: boolean;
        striped?: boolean;
        highlightCurrentRow?: boolean;
        indent?: number;
        spanMethod?: (context: {
            row: T;
            rowIndex: number;
            column: TableResolvedColumn<T>;
            columnIndex: number;
        }) => [number, number] | {
            rowspan: number;
            colspan: number;
        } | undefined;
        tooltipFormatter?: (context: TableCellSlotProps<T> & {
            cellValue: unknown;
        }) => unknown;
        tableWidth?: number;
        expandedRowMode?: "content" | "none" | "placeholder";
        mainTableWidth?: number;
        leftFixedWidth?: number;
        rightFixedWidth?: number;
        preserveExpandedContent?: boolean;
        tableLayout?: "fixed" | "auto";
        showHeader?: boolean;
        virtual?: boolean;
        virtualItemSize?: number;
        virtualOverscan?: number;
        scrollTop?: number;
        viewportHeight?: number;
    } & Partial<{}>> & PublicProps;
    expose(exposed: ShallowUnwrapRef<{
        tableRef: Ref<HTMLTableElement | null, HTMLTableElement | null>;
    }>): void;
    attrs: any;
    slots: {};
    emit: ((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);
}>) => VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
