import type { PropType, Ref } from 'vue'; import type { SelectItemKey } from "../util/index.js"; type VirtualProps = { itemHeight: number | string | null | undefined; itemKey: SelectItemKey; height: number | string | undefined; }; export declare const makeVirtualProps: (defaults?: Defaults | undefined) => { 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"] ? SelectItemKey : NonNullable | Defaults["itemKey"]; }; height: unknown extends Defaults["height"] ? (StringConstructor | NumberConstructor)[] : { type: PropType; default: unknown extends Defaults["height"] ? string | number : NonNullable | Defaults["height"]; }; }; export declare function useVirtual(props: VirtualProps, items: Ref): { calculateVisibleItems: () => void; containerRef: Ref; markerRef: Ref; computedItems: import("vue").ComputedRef<{ raw: T; index: number; key: any; }[]>; paddingTop: import("vue").ShallowRef; paddingBottom: import("vue").ShallowRef; scrollToIndex: (index: number) => void; handleScroll: () => void; handleScrollend: () => void; handleItemResize: (index: number, height: number) => void; };