import { provideExpanded } from './composables/expand.js'; import { provideSelection } from './composables/select.js'; import type { DeepReadonly } from 'vue'; import type { VDataTableSlotProps } from './VDataTable.js'; import type { VDataTableHeadersSlots } from './VDataTableHeaders.js'; import type { VDataTableRowsSlots } from './VDataTableRows.js'; import type { CellProps, DataTableHeader, RowProps } from "./types.js"; import type { GenericProps, SelectItemKey, TemplateRef } from "../../util/index.js"; type VDataTableVirtualSlotProps = Omit, 'setItemsPerPage' | 'page' | 'pageCount' | 'itemsPerPage'>; export type VDataTableVirtualSlots = VDataTableRowsSlots & VDataTableHeadersSlots & { colgroup: VDataTableVirtualSlotProps; top: VDataTableVirtualSlotProps; headers: VDataTableHeadersSlots['headers']; tbody: VDataTableVirtualSlotProps; thead: VDataTableVirtualSlotProps; tfoot: VDataTableVirtualSlotProps; bottom: VDataTableVirtualSlotProps; 'body.prepend': VDataTableVirtualSlotProps; 'body.append': VDataTableVirtualSlotProps; item: { itemRef: TemplateRef; }; }; export declare const makeVDataTableVirtualProps: (defaults?: Defaults | undefined) => { customFilter: unknown extends Defaults["customFilter"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["customFilter"] ? import("../../composables/filter.js").FilterFunction : import("../../composables/filter.js").FilterFunction | Defaults["customFilter"]; }; customKeyFilter: unknown extends Defaults["customKeyFilter"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["customKeyFilter"] ? import("../../composables/filter.js").FilterKeyFunctions : import("../../composables/filter.js").FilterKeyFunctions | Defaults["customKeyFilter"]; }; filterKeys: unknown extends Defaults["filterKeys"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["filterKeys"] ? import("../../composables/filter.js").FilterKeys : NonNullable | Defaults["filterKeys"]; }; filterMode: unknown extends Defaults["filterMode"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["filterMode"] ? import("../../composables/filter.js").FilterMode : NonNullable | Defaults["filterMode"]; }; noFilter: unknown extends Defaults["noFilter"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["noFilter"] ? boolean : boolean | Defaults["noFilter"]; }; itemHeight: unknown extends Defaults["itemHeight"] ? { type: (StringConstructor | NumberConstructor)[]; default: null; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: null; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["itemHeight"] ? string | number : NonNullable | Defaults["itemHeight"]; }; itemKey: unknown extends Defaults["itemKey"] ? { type: import("vue").PropType; default: null; } : Omit<{ type: import("vue").PropType; default: null; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["itemKey"] ? SelectItemKey : NonNullable | Defaults["itemKey"]; }; height: unknown extends Defaults["height"] ? (StringConstructor | NumberConstructor)[] : { type: import("vue").PropType; default: unknown extends Defaults["height"] ? string | number : NonNullable | Defaults["height"]; }; groupBy: unknown extends Defaults["groupBy"] ? { type: import("vue").PropType; default: () => never[]; } : Omit<{ type: import("vue").PropType; default: () => never[]; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["groupBy"] ? readonly import("./composables/sort.js").SortItem[] : readonly import("./composables/sort.js").SortItem[] | Defaults["groupBy"]; }; search: unknown extends Defaults["search"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["search"] ? string : string | Defaults["search"]; }; width: unknown extends Defaults["width"] ? (StringConstructor | NumberConstructor)[] : { type: import("vue").PropType; default: unknown extends Defaults["width"] ? string | number : NonNullable | Defaults["width"]; }; color: unknown extends Defaults["color"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["color"] ? string : string | Defaults["color"]; }; expanded: unknown extends Defaults["expanded"] ? { type: import("vue").PropType; default: () => never[]; } : Omit<{ type: import("vue").PropType; default: () => never[]; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["expanded"] ? readonly string[] : readonly string[] | Defaults["expanded"]; }; loading: unknown extends Defaults["loading"] ? (StringConstructor | BooleanConstructor)[] : { type: import("vue").PropType; default: unknown extends Defaults["loading"] ? string | boolean : NonNullable | Defaults["loading"]; }; style: unknown extends Defaults["style"] ? { type: import("vue").PropType; default: null; } : Omit<{ type: import("vue").PropType; default: null; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable | Defaults["style"]; }; mobile: unknown extends Defaults["mobile"] ? { type: import("vue").PropType; default: boolean; } : Omit<{ type: import("vue").PropType; default: boolean; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["mobile"] ? boolean | null : NonNullable | Defaults["mobile"]; }; class: unknown extends Defaults["class"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["class"] ? any : any; }; theme: unknown extends Defaults["theme"] ? StringConstructor : { type: import("vue").PropType; default: unknown extends Defaults["theme"] ? string : string | Defaults["theme"]; }; headers: unknown extends Defaults["headers"] ? import("vue").PropType>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly /*elided*/ any[] | undefined; }[] | undefined; }[]> : { type: import("vue").PropType>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly /*elided*/ any[] | undefined; }[] | undefined; }[] : readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly /*elided*/ any[] | undefined; }[] | undefined; }[] | Defaults["headers"]>; default: unknown extends Defaults["headers"] ? readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly /*elided*/ any[] | undefined; }[] | undefined; }[] : readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly { readonly key?: "data-table-group" | "data-table-select" | "data-table-expand" | (string & {}) | undefined; readonly value?: SelectItemKey>; readonly title?: string | undefined; readonly fixed?: boolean | "start" | "end" | undefined; readonly align?: "start" | "end" | "center" | undefined; readonly width?: number | string | undefined; readonly minWidth?: number | string | undefined; readonly maxWidth?: number | string | undefined; readonly nowrap?: boolean | undefined; readonly headerProps?: { readonly [x: string]: any; } | undefined; readonly cellProps?: import("./types.js").HeaderCellPropsFunction | { readonly [x: string]: any; } | undefined; readonly sortable?: boolean | undefined; readonly sort?: import("./types.js").DataTableCompareFunction | undefined; readonly sortRaw?: import("./types.js").DataTableCompareFunction | undefined; readonly filter?: import("../../composables/filter.js").FilterFunction | undefined; readonly children?: readonly /*elided*/ any[] | undefined; }[] | undefined; }[] | Defaults["headers"]; }; tag: unknown extends Defaults["tag"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["tag"] ? string | import("../../util/index.js").JSXComponent : NonNullable | Defaults["tag"]; }; sticky: unknown extends Defaults["sticky"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["sticky"] ? boolean : boolean | Defaults["sticky"]; }; noDataText: unknown extends Defaults["noDataText"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["noDataText"] ? string : string | Defaults["noDataText"]; }; loadingText: unknown extends Defaults["loadingText"] ? { type: StringConstructor; default: string; } : Omit<{ type: StringConstructor; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["loadingText"] ? string : string | Defaults["loadingText"]; }; sortBy: unknown extends Defaults["sortBy"] ? { type: import("vue").PropType; default: () => never[]; } : Omit<{ type: import("vue").PropType; default: () => never[]; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["sortBy"] ? readonly import("./composables/sort.js").SortItem[] : readonly import("./composables/sort.js").SortItem[] | Defaults["sortBy"]; }; mobileBreakpoint: unknown extends Defaults["mobileBreakpoint"] ? import("vue").PropType : { type: import("vue").PropType; default: unknown extends Defaults["mobileBreakpoint"] ? number | import("../../types.js").DisplayBreakpoint : NonNullable | Defaults["mobileBreakpoint"]; }; modelValue: unknown extends Defaults["modelValue"] ? { type: import("vue").PropType; default: () => never[]; } : Omit<{ type: import("vue").PropType; default: () => never[]; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["modelValue"] ? readonly any[] : readonly any[] | Defaults["modelValue"]; }; expandOnClick: unknown extends Defaults["expandOnClick"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["expandOnClick"] ? boolean : boolean | Defaults["expandOnClick"]; }; showExpand: unknown extends Defaults["showExpand"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["showExpand"] ? boolean : boolean | Defaults["showExpand"]; }; multiSort: unknown extends Defaults["multiSort"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["multiSort"] ? boolean : boolean | Defaults["multiSort"]; }; mustSort: unknown extends Defaults["mustSort"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["mustSort"] ? boolean : boolean | Defaults["mustSort"]; }; customKeySort: unknown extends Defaults["customKeySort"] ? import("vue").PropType> : { type: import("vue").PropType : Record | Defaults["customKeySort"]>; default: unknown extends Defaults["customKeySort"] ? Record : Record | Defaults["customKeySort"]; }; headerProps: unknown extends Defaults["headerProps"] ? { type: import("vue").PropType>; } : Omit<{ type: import("vue").PropType>; }, "type" | "default"> & { type: import("vue").PropType : Record | Defaults["headerProps"]>; default: unknown extends Defaults["headerProps"] ? Record : Record | Defaults["headerProps"]; }; cellProps: unknown extends Defaults["cellProps"] ? import("vue").PropType> : { type: import("vue").PropType : CellProps | Defaults["cellProps"]>; default: unknown extends Defaults["cellProps"] ? CellProps : NonNullable> | Defaults["cellProps"]; }; disableSort: unknown extends Defaults["disableSort"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["disableSort"] ? boolean : boolean | Defaults["disableSort"]; }; items: unknown extends Defaults["items"] ? { type: import("vue").PropType; default: () => never[]; } : Omit<{ type: import("vue").PropType; default: () => never[]; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["items"] ? any[] : any[] | Defaults["items"]; }; itemValue: unknown extends Defaults["itemValue"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["itemValue"] ? SelectItemKey : NonNullable | Defaults["itemValue"]; }; itemSelectable: unknown extends Defaults["itemSelectable"] ? { type: import("vue").PropType; default: null; } : Omit<{ type: import("vue").PropType; default: null; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["itemSelectable"] ? SelectItemKey : NonNullable | Defaults["itemSelectable"]; }; returnObject: unknown extends Defaults["returnObject"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["returnObject"] ? boolean : boolean | Defaults["returnObject"]; }; rowProps: unknown extends Defaults["rowProps"] ? import("vue").PropType> : { type: import("vue").PropType : RowProps | Defaults["rowProps"]>; default: unknown extends Defaults["rowProps"] ? RowProps : NonNullable> | Defaults["rowProps"]; }; showSelect: unknown extends Defaults["showSelect"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["showSelect"] ? boolean : boolean | Defaults["showSelect"]; }; selectStrategy: unknown extends Defaults["selectStrategy"] ? { type: import("vue").PropType<"single" | "page" | "all">; default: string; } : Omit<{ type: import("vue").PropType<"single" | "page" | "all">; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["selectStrategy"] ? "all" | "page" | "single" : NonNullable<"all" | "page" | "single"> | Defaults["selectStrategy"]; }; valueComparator: unknown extends Defaults["valueComparator"] ? { type: import("vue").PropType; default: typeof import("../../util/index.js").deepEqual; } : Omit<{ type: import("vue").PropType; default: typeof import("../../util/index.js").deepEqual; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["valueComparator"] ? typeof import("../../util/index.js").deepEqual : typeof import("../../util/index.js").deepEqual | Defaults["valueComparator"]; }; density: unknown extends Defaults["density"] ? { type: import("vue").PropType; default: string; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType; default: string; validator: (v: any) => boolean; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["density"] ? import("../../composables/density.js").Density : NonNullable | Defaults["density"]; }; striped: unknown extends Defaults["striped"] ? { type: import("vue").PropType; default: null; validator: (v: any) => boolean; } : Omit<{ type: import("vue").PropType; default: null; validator: (v: any) => boolean; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["striped"] ? import("../VTable/VTable.js").Striped : NonNullable | Defaults["striped"]; }; hideNoData: unknown extends Defaults["hideNoData"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["hideNoData"] ? boolean : boolean | Defaults["hideNoData"]; }; hover: unknown extends Defaults["hover"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["hover"] ? boolean : boolean | Defaults["hover"]; }; fixedHeader: unknown extends Defaults["fixedHeader"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["fixedHeader"] ? boolean : boolean | Defaults["fixedHeader"]; }; sortAscIcon: unknown extends Defaults["sortAscIcon"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["sortAscIcon"] ? import("../../composables/icons.js").IconValue : NonNullable | Defaults["sortAscIcon"]; }; sortDescIcon: unknown extends Defaults["sortDescIcon"] ? { type: import("vue").PropType; default: string; } : Omit<{ type: import("vue").PropType; default: string; }, "type" | "default"> & { type: import("vue").PropType; default: unknown extends Defaults["sortDescIcon"] ? import("../../composables/icons.js").IconValue : NonNullable | Defaults["sortDescIcon"]; }; fixedFooter: unknown extends Defaults["fixedFooter"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["fixedFooter"] ? boolean : boolean | Defaults["fixedFooter"]; }; hideDefaultBody: unknown extends Defaults["hideDefaultBody"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["hideDefaultBody"] ? boolean : boolean | Defaults["hideDefaultBody"]; }; hideDefaultHeader: unknown extends Defaults["hideDefaultHeader"] ? BooleanConstructor : { type: import("vue").PropType; default: unknown extends Defaults["hideDefaultHeader"] ? boolean : boolean | Defaults["hideDefaultHeader"]; }; }; type ItemType = T extends readonly (infer U)[] ? U : never; export declare const VDataTableVirtual: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ expanded: readonly string[]; style: import("vue").StyleValue; mobile: boolean | null; tag: string | import("../../util/index.js").JSXComponent; sticky: boolean; noDataText: string; loadingText: string; sortBy: readonly import("./composables/sort.js").SortItem[]; filterMode: import("../../composables/filter.js").FilterMode; noFilter: boolean; expandOnClick: boolean; showExpand: boolean; multiSort: boolean; mustSort: boolean; groupBy: readonly import("./composables/sort.js").SortItem[]; disableSort: boolean; returnObject: boolean; showSelect: boolean; selectStrategy: "all" | "page" | "single"; valueComparator: typeof import("../../util/index.js").deepEqual; density: import("../../composables/density.js").Density; striped: import("../VTable/VTable.js").Striped; itemHeight: string | number; itemKey: SelectItemKey; hideNoData: boolean; hover: boolean; fixedHeader: boolean; sortAscIcon: import("../../composables/icons.js").IconValue; sortDescIcon: import("../../composables/icons.js").IconValue; fixedFooter: boolean; hideDefaultBody: boolean; hideDefaultHeader: boolean; } & { search?: string | undefined; height?: string | number | undefined; width?: string | number | undefined; color?: string | undefined; loading?: string | boolean | undefined; class?: any; theme?: string | undefined; mobileBreakpoint?: number | import("../../types.js").DisplayBreakpoint | undefined; customFilter?: import("../../composables/filter.js").FilterFunction | undefined; customKeyFilter?: import("../../composables/filter.js").FilterKeyFunctions | undefined; filterKeys?: import("../../composables/filter.js").FilterKeys | undefined; customKeySort?: Record | undefined; headerProps?: Record | undefined; } & { "onUpdate:expanded"?: ((value: any) => any) | undefined; "onUpdate:sortBy"?: ((value: any) => any) | undefined; "onUpdate:groupBy"?: ((value: any) => any) | undefined; "onUpdate:options"?: ((value: any) => any) | undefined; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any[]) => true; 'update:sortBy': (value: any) => true; 'update:options': (value: any) => true; 'update:groupBy': (value: any) => true; 'update:expanded': (value: any) => true; }, "headers" | "$children" | "v-slots" | "modelValue" | "cellProps" | "items" | "itemValue" | "itemSelectable" | "rowProps" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "v-slot:no-data" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { expanded: readonly string[]; style: import("vue").StyleValue; mobile: boolean | null; tag: string | import("../../util/index.js").JSXComponent; sticky: boolean; noDataText: string; loadingText: string; sortBy: readonly import("./composables/sort.js").SortItem[]; filterMode: import("../../composables/filter.js").FilterMode; noFilter: boolean; expandOnClick: boolean; showExpand: boolean; multiSort: boolean; mustSort: boolean; groupBy: readonly import("./composables/sort.js").SortItem[]; disableSort: boolean; returnObject: boolean; showSelect: boolean; selectStrategy: "all" | "page" | "single"; valueComparator: typeof import("../../util/index.js").deepEqual; density: import("../../composables/density.js").Density; striped: import("../VTable/VTable.js").Striped; itemHeight: string | number; itemKey: SelectItemKey; hideNoData: boolean; hover: boolean; fixedHeader: boolean; sortAscIcon: import("../../composables/icons.js").IconValue; sortDescIcon: import("../../composables/icons.js").IconValue; fixedFooter: boolean; hideDefaultBody: boolean; hideDefaultHeader: boolean; }, true, {}, import("vue").SlotsType) => import("vue").VNode[]; [x: `header.${string}`]: (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[]; 'data-table-group': (arg: { item: import("./composables/group.js").Group; count: number; props: Record; }) => import("vue").VNode[]; 'data-table-select': (arg: { props: Record; }) => import("vue").VNode[]; 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps) => import("vue").VNode[]; 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps) => import("vue").VNode[]; 'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[]; 'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[]; item: (arg: { index: number; item: any; internalItem: import("./types.js").DataTableItem; isExpanded: ReturnType["isExpanded"]; toggleExpand: ReturnType["toggleExpand"]; isSelected: ReturnType["isSelected"]; toggleSelect: ReturnType["toggleSelect"]; } & { columns: import("./types.js").InternalDataTableHeader[]; } & { props: Record; } & { itemRef: TemplateRef; }) => import("vue").VNode[]; loading: () => import("vue").VNode[]; 'group-header': (arg: import("./types.js").GroupHeaderSlot) => import("vue").VNode[]; 'no-data': () => import("vue").VNode[]; 'expanded-row': (arg: import("./types.js").ItemSlot) => import("vue").VNode[]; headers: (arg: import("./VDataTableHeaders.js").HeadersSlotProps) => import("vue").VNode[]; loader: (arg: import("../../composables/loader.js").LoaderSlotProps) => import("vue").VNode[]; colgroup: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; top: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; tbody: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; thead: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; tfoot: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; bottom: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; 'body.prepend': (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; 'body.append': (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { expanded: readonly string[]; style: import("vue").StyleValue; mobile: boolean | null; tag: string | import("../../util/index.js").JSXComponent; sticky: boolean; noDataText: string; loadingText: string; sortBy: readonly import("./composables/sort.js").SortItem[]; filterMode: import("../../composables/filter.js").FilterMode; noFilter: boolean; expandOnClick: boolean; showExpand: boolean; multiSort: boolean; mustSort: boolean; groupBy: readonly import("./composables/sort.js").SortItem[]; disableSort: boolean; returnObject: boolean; showSelect: boolean; selectStrategy: "all" | "page" | "single"; valueComparator: typeof import("../../util/index.js").deepEqual; density: import("../../composables/density.js").Density; striped: import("../VTable/VTable.js").Striped; itemHeight: string | number; itemKey: SelectItemKey; hideNoData: boolean; hover: boolean; fixedHeader: boolean; sortAscIcon: import("../../composables/icons.js").IconValue; sortDescIcon: import("../../composables/icons.js").IconValue; fixedFooter: boolean; hideDefaultBody: boolean; hideDefaultHeader: boolean; } & { search?: string | undefined; height?: string | number | undefined; width?: string | number | undefined; color?: string | undefined; loading?: string | boolean | undefined; class?: any; theme?: string | undefined; mobileBreakpoint?: number | import("../../types.js").DisplayBreakpoint | undefined; customFilter?: import("../../composables/filter.js").FilterFunction | undefined; customKeyFilter?: import("../../composables/filter.js").FilterKeyFunctions | undefined; filterKeys?: import("../../composables/filter.js").FilterKeys | undefined; customKeySort?: Record | undefined; headerProps?: Record | undefined; } & { "onUpdate:expanded"?: ((value: any) => any) | undefined; "onUpdate:sortBy"?: ((value: any) => any) | undefined; "onUpdate:groupBy"?: ((value: any) => any) | undefined; "onUpdate:options"?: ((value: any) => any) | undefined; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, {}, {}, {}, { expanded: readonly string[]; style: import("vue").StyleValue; mobile: boolean | null; tag: string | import("../../util/index.js").JSXComponent; sticky: boolean; noDataText: string; loadingText: string; sortBy: readonly import("./composables/sort.js").SortItem[]; filterMode: import("../../composables/filter.js").FilterMode; noFilter: boolean; expandOnClick: boolean; showExpand: boolean; multiSort: boolean; mustSort: boolean; groupBy: readonly import("./composables/sort.js").SortItem[]; disableSort: boolean; returnObject: boolean; showSelect: boolean; selectStrategy: "all" | "page" | "single"; valueComparator: typeof import("../../util/index.js").deepEqual; density: import("../../composables/density.js").Density; striped: import("../VTable/VTable.js").Striped; itemHeight: string | number; itemKey: SelectItemKey; hideNoData: boolean; hover: boolean; fixedHeader: boolean; sortAscIcon: import("../../composables/icons.js").IconValue; sortDescIcon: import("../../composables/icons.js").IconValue; fixedFooter: boolean; hideDefaultBody: boolean; hideDefaultHeader: boolean; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ expanded: readonly string[]; style: import("vue").StyleValue; mobile: boolean | null; tag: string | import("../../util/index.js").JSXComponent; sticky: boolean; noDataText: string; loadingText: string; sortBy: readonly import("./composables/sort.js").SortItem[]; filterMode: import("../../composables/filter.js").FilterMode; noFilter: boolean; expandOnClick: boolean; showExpand: boolean; multiSort: boolean; mustSort: boolean; groupBy: readonly import("./composables/sort.js").SortItem[]; disableSort: boolean; returnObject: boolean; showSelect: boolean; selectStrategy: "all" | "page" | "single"; valueComparator: typeof import("../../util/index.js").deepEqual; density: import("../../composables/density.js").Density; striped: import("../VTable/VTable.js").Striped; itemHeight: string | number; itemKey: SelectItemKey; hideNoData: boolean; hover: boolean; fixedHeader: boolean; sortAscIcon: import("../../composables/icons.js").IconValue; sortDescIcon: import("../../composables/icons.js").IconValue; fixedFooter: boolean; hideDefaultBody: boolean; hideDefaultHeader: boolean; } & { search?: string | undefined; height?: string | number | undefined; width?: string | number | undefined; color?: string | undefined; loading?: string | boolean | undefined; class?: any; theme?: string | undefined; mobileBreakpoint?: number | import("../../types.js").DisplayBreakpoint | undefined; customFilter?: import("../../composables/filter.js").FilterFunction | undefined; customKeyFilter?: import("../../composables/filter.js").FilterKeyFunctions | undefined; filterKeys?: import("../../composables/filter.js").FilterKeys | undefined; customKeySort?: Record | undefined; headerProps?: Record | undefined; } & { "onUpdate:expanded"?: ((value: any) => any) | undefined; "onUpdate:sortBy"?: ((value: any) => any) | undefined; "onUpdate:groupBy"?: ((value: any) => any) | undefined; "onUpdate:options"?: ((value: any) => any) | undefined; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit<{ 'update:modelValue': (value: any[]) => true; 'update:sortBy': (value: any) => true; 'update:options': (value: any) => true; 'update:groupBy': (value: any) => true; 'update:expanded': (value: any) => true; }, "headers" | "$children" | "v-slots" | "modelValue" | "cellProps" | "items" | "itemValue" | "itemSelectable" | "rowProps" | "update:modelValue" | "v-slot:loader" | "v-slot:item" | "v-slot:no-data" | "v-slot:headers" | `v-slot:header.${string}` | "v-slot:data-table-group" | "v-slot:data-table-select" | `v-slot:item.${string}` | "v-slot:loading" | "v-slot:group-header" | "v-slot:expanded-row" | "v-slot:top" | "v-slot:bottom" | "v-slot:colgroup" | "v-slot:tbody" | "v-slot:tfoot" | "v-slot:thead" | "v-slot:body.prepend" | "v-slot:body.append">, string, { expanded: readonly string[]; style: import("vue").StyleValue; mobile: boolean | null; tag: string | import("../../util/index.js").JSXComponent; sticky: boolean; noDataText: string; loadingText: string; sortBy: readonly import("./composables/sort.js").SortItem[]; filterMode: import("../../composables/filter.js").FilterMode; noFilter: boolean; expandOnClick: boolean; showExpand: boolean; multiSort: boolean; mustSort: boolean; groupBy: readonly import("./composables/sort.js").SortItem[]; disableSort: boolean; returnObject: boolean; showSelect: boolean; selectStrategy: "all" | "page" | "single"; valueComparator: typeof import("../../util/index.js").deepEqual; density: import("../../composables/density.js").Density; striped: import("../VTable/VTable.js").Striped; itemHeight: string | number; itemKey: SelectItemKey; hideNoData: boolean; hover: boolean; fixedHeader: boolean; sortAscIcon: import("../../composables/icons.js").IconValue; sortDescIcon: import("../../composables/icons.js").IconValue; fixedFooter: boolean; hideDefaultBody: boolean; hideDefaultHeader: boolean; }, {}, string, import("vue").SlotsType) => import("vue").VNode[]; [x: `header.${string}`]: (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[]; 'data-table-group': (arg: { item: import("./composables/group.js").Group; count: number; props: Record; }) => import("vue").VNode[]; 'data-table-select': (arg: { props: Record; }) => import("vue").VNode[]; 'item.data-table-select': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps) => import("vue").VNode[]; 'item.data-table-expand': (arg: import("./VDataTableRow.js").VDataTableItemCellColumnSlotProps) => import("vue").VNode[]; 'header.data-table-select': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[]; 'header.data-table-expand': (arg: import("./VDataTableHeaders.js").VDataTableHeaderCellColumnSlotProps) => import("vue").VNode[]; item: (arg: { index: number; item: any; internalItem: import("./types.js").DataTableItem; isExpanded: ReturnType["isExpanded"]; toggleExpand: ReturnType["toggleExpand"]; isSelected: ReturnType["isSelected"]; toggleSelect: ReturnType["toggleSelect"]; } & { columns: import("./types.js").InternalDataTableHeader[]; } & { props: Record; } & { itemRef: TemplateRef; }) => import("vue").VNode[]; loading: () => import("vue").VNode[]; 'group-header': (arg: import("./types.js").GroupHeaderSlot) => import("vue").VNode[]; 'no-data': () => import("vue").VNode[]; 'expanded-row': (arg: import("./types.js").ItemSlot) => import("vue").VNode[]; headers: (arg: import("./VDataTableHeaders.js").HeadersSlotProps) => import("vue").VNode[]; loader: (arg: import("../../composables/loader.js").LoaderSlotProps) => import("vue").VNode[]; colgroup: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; top: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; tbody: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; thead: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; tfoot: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; bottom: (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; 'body.prepend': (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; 'body.append': (arg: VDataTableVirtualSlotProps) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, import("vue").ComponentProvideOptions> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & (new (props: { items?: T; itemValue?: SelectItemKey>; rowProps?: RowProps>; cellProps?: CellProps>; itemSelectable?: SelectItemKey>; headers?: DeepReadonly>[]>; modelValue?: V; "onUpdate:modelValue"?: (value: V) => void; }, slots: VDataTableVirtualSlots>) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ customFilter: import("vue").PropType; customKeyFilter: import("vue").PropType; filterKeys: import("vue").PropType; filterMode: { type: import("vue").PropType; default: string; }; noFilter: BooleanConstructor; itemHeight: { type: (StringConstructor | NumberConstructor)[]; default: null; }; itemKey: { type: import("vue").PropType; default: null; }; height: (StringConstructor | NumberConstructor)[]; groupBy: { type: import("vue").PropType; default: () => never[]; }; search: StringConstructor; width: (StringConstructor | NumberConstructor)[]; color: StringConstructor; expanded: { type: import("vue").PropType; default: () => never[]; }; loading: (StringConstructor | BooleanConstructor)[]; style: { type: import("vue").PropType; default: null; }; mobile: { type: import("vue").PropType; default: boolean; }; class: import("vue").PropType; theme: StringConstructor; headers: import("vue").PropType>; tag: { type: import("vue").PropType; default: string; }; sticky: BooleanConstructor; noDataText: { type: StringConstructor; default: string; }; loadingText: { type: StringConstructor; default: string; }; sortBy: { type: import("vue").PropType; default: () => never[]; }; mobileBreakpoint: import("vue").PropType; modelValue: { type: import("vue").PropType; default: () => never[]; }; expandOnClick: BooleanConstructor; showExpand: BooleanConstructor; multiSort: BooleanConstructor; mustSort: BooleanConstructor; customKeySort: import("vue").PropType>; headerProps: { type: import("vue").PropType>; }; cellProps: import("vue").PropType>; disableSort: BooleanConstructor; items: { type: import("vue").PropType; default: () => never[]; }; itemValue: { type: import("vue").PropType; default: string; }; itemSelectable: { type: import("vue").PropType; default: null; }; returnObject: BooleanConstructor; rowProps: import("vue").PropType>; showSelect: BooleanConstructor; selectStrategy: { type: import("vue").PropType<"single" | "page" | "all">; default: string; }; valueComparator: { type: import("vue").PropType; default: typeof import("../../util/index.js").deepEqual; }; density: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; striped: { type: import("vue").PropType; default: null; validator: (v: any) => boolean; }; hideNoData: BooleanConstructor; hover: BooleanConstructor; fixedHeader: BooleanConstructor; sortAscIcon: { type: import("vue").PropType; default: string; }; sortDescIcon: { type: import("vue").PropType; default: string; }; fixedFooter: BooleanConstructor; hideDefaultBody: BooleanConstructor; hideDefaultHeader: BooleanConstructor; }, import("vue").ExtractPropTypes<{ customFilter: import("vue").PropType; customKeyFilter: import("vue").PropType; filterKeys: import("vue").PropType; filterMode: { type: import("vue").PropType; default: string; }; noFilter: BooleanConstructor; itemHeight: { type: (StringConstructor | NumberConstructor)[]; default: null; }; itemKey: { type: import("vue").PropType; default: null; }; height: (StringConstructor | NumberConstructor)[]; groupBy: { type: import("vue").PropType; default: () => never[]; }; search: StringConstructor; width: (StringConstructor | NumberConstructor)[]; color: StringConstructor; expanded: { type: import("vue").PropType; default: () => never[]; }; loading: (StringConstructor | BooleanConstructor)[]; style: { type: import("vue").PropType; default: null; }; mobile: { type: import("vue").PropType; default: boolean; }; class: import("vue").PropType; theme: StringConstructor; headers: import("vue").PropType>; tag: { type: import("vue").PropType; default: string; }; sticky: BooleanConstructor; noDataText: { type: StringConstructor; default: string; }; loadingText: { type: StringConstructor; default: string; }; sortBy: { type: import("vue").PropType; default: () => never[]; }; mobileBreakpoint: import("vue").PropType; modelValue: { type: import("vue").PropType; default: () => never[]; }; expandOnClick: BooleanConstructor; showExpand: BooleanConstructor; multiSort: BooleanConstructor; mustSort: BooleanConstructor; customKeySort: import("vue").PropType>; headerProps: { type: import("vue").PropType>; }; cellProps: import("vue").PropType>; disableSort: BooleanConstructor; items: { type: import("vue").PropType; default: () => never[]; }; itemValue: { type: import("vue").PropType; default: string; }; itemSelectable: { type: import("vue").PropType; default: null; }; returnObject: BooleanConstructor; rowProps: import("vue").PropType>; showSelect: BooleanConstructor; selectStrategy: { type: import("vue").PropType<"single" | "page" | "all">; default: string; }; valueComparator: { type: import("vue").PropType; default: typeof import("../../util/index.js").deepEqual; }; density: { type: import("vue").PropType; default: string; validator: (v: any) => boolean; }; striped: { type: import("vue").PropType; default: null; validator: (v: any) => boolean; }; hideNoData: BooleanConstructor; hover: BooleanConstructor; fixedHeader: BooleanConstructor; sortAscIcon: { type: import("vue").PropType; default: string; }; sortDescIcon: { type: import("vue").PropType; default: string; }; fixedFooter: BooleanConstructor; hideDefaultBody: BooleanConstructor; hideDefaultHeader: BooleanConstructor; }>>; export type VDataTableVirtual = InstanceType;