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) => { 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; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["style"] ? import("vue").StyleValue : Defaults["style"] | NonNullable; }; height: unknown extends Defaults["height"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["height"] ? string | number : Defaults["height"] | NonNullable; }; maxHeight: unknown extends Defaults["maxHeight"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["maxHeight"] ? string | number : Defaults["maxHeight"] | NonNullable; }; maxWidth: unknown extends Defaults["maxWidth"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["maxWidth"] ? string | number : Defaults["maxWidth"] | NonNullable; }; minHeight: unknown extends Defaults["minHeight"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["minHeight"] ? string | number : Defaults["minHeight"] | NonNullable; }; minWidth: unknown extends Defaults["minWidth"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["minWidth"] ? string | number : Defaults["minWidth"] | NonNullable; }; width: unknown extends Defaults["width"] ? (NumberConstructor | StringConstructor)[] : { type: PropType; default: unknown extends Defaults["width"] ? string | number : Defaults["width"] | NonNullable; }; itemHeight: unknown extends Defaults["itemHeight"] ? { type: (NumberConstructor | StringConstructor)[]; default: null; } : Omit<{ type: (NumberConstructor | StringConstructor)[]; default: null; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["itemHeight"] ? string | number : Defaults["itemHeight"] | NonNullable; }; itemKey: unknown extends Defaults["itemKey"] ? { type: PropType; default: null; } : Omit<{ type: PropType; default: null; }, "default" | "type"> & { type: PropType; default: unknown extends Defaults["itemKey"] ? import("../../util/index.js").SelectItemKey : Defaults["itemKey"] | NonNullable; }; items: unknown extends Defaults["items"] ? { type: PropType; default: () => never[]; } : Omit<{ type: PropType; default: () => never[]; }, "default" | "type"> & { 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: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; itemHeight: string | number; itemKey: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; } & { class?: any; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit, "$children" | "items" | "renderless" | "v-slot:default" | "v-slots">, 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: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; itemHeight: string | number; itemKey: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; } & { class?: any; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; }, { 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: string | false | import("vue").StyleValue[] | import("vue").CSSProperties | null; itemHeight: string | number; itemKey: string | boolean | readonly (string | number)[] | ((item: Record, fallback?: any) => any) | null; } & { class?: any; height?: string | number | undefined; maxHeight?: string | number | undefined; maxWidth?: string | number | undefined; minHeight?: string | number | undefined; minWidth?: string | number | undefined; width?: string | number | undefined; }, { calculateVisibleItems: () => void; scrollToIndex: (index: number) => void; }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Omit, "$children" | "items" | "renderless" | "v-slot:default" | "v-slots">, 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<{ class: PropType; style: { type: PropType; default: null; }; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; maxWidth: (NumberConstructor | StringConstructor)[]; minHeight: (NumberConstructor | StringConstructor)[]; minWidth: (NumberConstructor | StringConstructor)[]; width: (NumberConstructor | StringConstructor)[]; itemHeight: { type: (NumberConstructor | StringConstructor)[]; default: null; }; itemKey: { type: PropType; default: null; }; items: { type: PropType; default: () => never[]; }; renderless: BooleanConstructor; }, import("vue").ExtractPropTypes<{ class: PropType; style: { type: PropType; default: null; }; height: (NumberConstructor | StringConstructor)[]; maxHeight: (NumberConstructor | StringConstructor)[]; maxWidth: (NumberConstructor | StringConstructor)[]; minHeight: (NumberConstructor | StringConstructor)[]; minWidth: (NumberConstructor | StringConstructor)[]; width: (NumberConstructor | StringConstructor)[]; itemHeight: { type: (NumberConstructor | StringConstructor)[]; default: null; }; itemKey: { type: PropType; default: null; }; items: { type: PropType; default: () => never[]; }; renderless: BooleanConstructor; }>>; export type VVirtualScroll = InstanceType;