import type { PropType, Ref } from 'vue'; import type { GenericProps } from "../../util/index.js"; export interface VVirtualScrollSlot { item: T; index: number; } export declare const makeVVirtualScrollProps: (defaults?: Defaults | undefined) => { height: unknown extends Defaults["height"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["height"] ? string | number : NonNullable | Defaults["height"]; }; maxHeight: unknown extends Defaults["maxHeight"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["maxHeight"] ? string | number : NonNullable | Defaults["maxHeight"]; }; maxWidth: unknown extends Defaults["maxWidth"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["maxWidth"] ? string | number : NonNullable | Defaults["maxWidth"]; }; minHeight: unknown extends Defaults["minHeight"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["minHeight"] ? string | number : NonNullable | Defaults["minHeight"]; }; minWidth: unknown extends Defaults["minWidth"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["minWidth"] ? string | number : NonNullable | Defaults["minWidth"]; }; width: unknown extends Defaults["width"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["width"] ? string | number : NonNullable | Defaults["width"]; }; class: unknown extends Defaults["class"] ? PropType : { type: PropType; default: unknown extends Defaults["class"] ? any : any; }; style: unknown extends Defaults["style"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : NonNullable | Defaults["style"]; }; itemHeight: unknown extends Defaults["itemHeight"] ? { type: (StringConstructor | NumberConstructor)[]; default: null; } : Omit<{ type: (StringConstructor | NumberConstructor)[]; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["itemHeight"] ? string | number : NonNullable | Defaults["itemHeight"]; }; itemKey: unknown extends Defaults["itemKey"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["itemKey"] ? import("../../util/index.js").SelectItemKey : NonNullable | Defaults["itemKey"]; }; items: unknown extends Defaults["items"] ? { type: PropType; default: () => never[]; } : Omit<{ type: PropType; default: () => never[]; }, "type" | "default"> & { type: PropType; default: unknown extends Defaults["items"] ? readonly unknown[] : readonly unknown[] | Defaults["items"]; }; renderless: unknown extends Defaults["renderless"] ? BooleanConstructor : { type: PropType; default: unknown extends Defaults["renderless"] ? boolean : boolean | Defaults["renderless"]; }; }; export declare const VVirtualScroll: { new (...args: any[]): import("vue").CreateComponentPublicInstanceWithMixins<{ style: import("vue").StyleValue; itemHeight: string | number; itemKey: import("../../util/index.js").SelectItemKey; } & { height?: string | number | undefined; width?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; class?: any; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit, "$children" | "v-slots" | "v-slot:default" | "items" | "renderless">, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, { style: import("vue").StyleValue; itemHeight: string | number; itemKey: import("../../util/index.js").SelectItemKey; }, true, {}, import("vue").SlotsType | (VVirtualScrollSlot & { itemRef: Ref; })) => import("vue").VNode[]; }>>, import("vue").GlobalComponents, import("vue").GlobalDirectives, string, {}, any, import("vue").ComponentProvideOptions, { P: {}; B: {}; D: {}; C: {}; M: {}; Defaults: {}; }, { style: import("vue").StyleValue; itemHeight: string | number; itemKey: import("../../util/index.js").SelectItemKey; } & { height?: string | number | undefined; width?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; class?: any; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, {}, {}, {}, { style: import("vue").StyleValue; itemHeight: string | number; itemKey: import("../../util/index.js").SelectItemKey; }>; __isFragment?: never; __isTeleport?: never; __isSuspense?: never; } & import("vue").ComponentOptionsBase<{ style: import("vue").StyleValue; itemHeight: string | number; itemKey: import("../../util/index.js").SelectItemKey; } & { height?: string | number | undefined; width?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; class?: any; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit, "$children" | "v-slots" | "v-slot:default" | "items" | "renderless">, string, { style: import("vue").StyleValue; itemHeight: string | number; itemKey: import("../../util/index.js").SelectItemKey; }, {}, string, import("vue").SlotsType | (VVirtualScrollSlot & { itemRef: Ref; })) => 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?: readonly T[]; renderless?: Renderless; }, slots: { default: VVirtualScrollSlot & (Renderless extends true ? { itemRef: Ref; } : {}); }) => GenericProps) & import("../../util/index.js").FilterPropsOptions<{ height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; class: PropType; style: { type: PropType; default: null; }; itemHeight: { type: (StringConstructor | NumberConstructor)[]; default: null; }; itemKey: { type: PropType; default: null; }; items: { type: PropType; default: () => never[]; }; renderless: BooleanConstructor; }, import("vue").ExtractPropTypes<{ height: (StringConstructor | NumberConstructor)[]; maxHeight: (StringConstructor | NumberConstructor)[]; maxWidth: (StringConstructor | NumberConstructor)[]; minHeight: (StringConstructor | NumberConstructor)[]; minWidth: (StringConstructor | NumberConstructor)[]; width: (StringConstructor | NumberConstructor)[]; class: PropType; style: { type: PropType; default: null; }; itemHeight: { type: (StringConstructor | NumberConstructor)[]; default: null; }; itemKey: { type: PropType; default: null; }; items: { type: PropType; default: () => never[]; }; renderless: BooleanConstructor; }>>; export type VVirtualScroll = InstanceType;