import type { H0TableColumn, H0TableDensity, H0TableRow, H0TableRowKey } from '../Table/Table.types'; import type { H0DataTableColumn, H0DataTableFilters, H0DataTableFilterValue, H0DataTableMode, H0DataTablePaginationMode, H0DataTableSelection, H0DataTableSelectionMode, H0DataTableSort } from './DataTable.types'; declare const __VLS_export: (__VLS_props: NonNullable>["props"], __VLS_ctx?: __VLS_PrettifyLocal>, "attrs" | "emit" | "slots">>, __VLS_exposed?: NonNullable>["expose"], __VLS_setup?: Promise<{ props: import("vue").PublicProps & __VLS_PrettifyLocal<{ columns: H0DataTableColumn[]; rows?: Row[]; getRowKey: (row: Row, index: number) => H0TableRowKey; mode?: H0DataTableMode; paginationMode?: H0DataTablePaginationMode; page?: number; defaultPage?: number; pageSize?: number; defaultPageSize?: number; totalItems?: number; sort?: H0DataTableSort; defaultSort?: H0DataTableSort; filters?: H0DataTableFilters; defaultFilters?: H0DataTableFilters; selection?: H0DataTableSelection; defaultSelection?: H0DataTableSelection; selectionMode?: H0DataTableSelectionMode; isRowSelectable?: (row: Row) => boolean; loading?: boolean; error?: string; hasMore?: boolean; virtual?: boolean; rowHeight?: number; overscan?: number; scrollHeight?: string | number; minWidth?: string | number; density?: H0TableDensity; striped?: boolean; hoverable?: boolean; bordered?: boolean; stickyHeader?: boolean; emptyText?: string; loadingText?: string; ariaLabel?: string; } & { "onUpdate:page"?: ((value: number) => any) | undefined; "onRow-click"?: ((row: Row, index: number, event: MouseEvent) => any) | undefined; "onUpdate:sort"?: ((value: H0DataTableSort) => any) | undefined; "onUpdate:filters"?: ((value: H0DataTableFilters) => any) | undefined; "onUpdate:selection"?: ((value: H0DataTableSelection) => any) | undefined; "onUpdate:pageSize"?: ((value: number) => any) | undefined; "onLoad-more"?: (() => any) | undefined; }> & (typeof globalThis extends { __VLS_PROPS_FALLBACK: infer P; } ? P : {}); expose: (exposed: {}) => void; attrs: any; slots: { [x: `filter-${string}`]: ((props: { column: H0DataTableColumn; value: string | number | boolean | null; setFilter: (value: H0DataTableFilterValue) => void; }) => any) | undefined; } & { [x: `cell-${string}`]: ((props: { row: Row; column: H0TableColumn; value: unknown; rowIndex: number; }) => any) | undefined; } & { toolbar?: (props: { filters: H0DataTableFilters | undefined; setFilter: (key: string, value: H0DataTableFilterValue) => void; }) => any; } & { error?: (props: { error: string; }) => any; } & { empty?: (props: {}) => any; }; emit: ((evt: "update:page", value: number) => void) & ((evt: "row-click", row: Row, index: number, event: MouseEvent) => void) & ((evt: "update:sort", value: H0DataTableSort) => void) & ((evt: "update:filters", value: H0DataTableFilters) => void) & ((evt: "update:selection", value: H0DataTableSelection) => void) & ((evt: "update:pageSize", value: number) => void) & ((evt: "load-more") => void); }>) => import("vue").VNode & { __ctx?: NonNullable>; }; declare const _default: typeof __VLS_export; export default _default; type __VLS_PrettifyLocal = (T extends any ? { [K in keyof T]: T[K]; } : { [K in keyof T as K]: T[K]; }) & {};