import type { CacheSnapshot } from 'virtua'; import { type CSSProperties, type PropType } from 'vue'; import type { ScrollbarProps } from '../../scrollbar'; import type { ClassValue, ItemSizeValue, ScrollOptions, ScrollToOptions, VirtualItemKey } from './interface'; declare var __VLS_1: {}, __VLS_15: { item: any; index: number; active: boolean; itemWithSize: undefined; }, __VLS_17: { item: any; index: number; active: boolean; itemWithSize: undefined; }, __VLS_19: {}, __VLS_21: {}; type __VLS_Slots = {} & { before?: (props: typeof __VLS_1) => any; } & { item?: (props: typeof __VLS_15) => any; } & { default?: (props: typeof __VLS_17) => any; } & { after?: (props: typeof __VLS_19) => any; } & { empty?: (props: typeof __VLS_21) => any; }; declare const __VLS_base: import("vue").DefineComponent; default: () => never[]; }; height: { type: PropType; default: undefined; }; keyField: { type: PropType VirtualItemKey)>; default: string; }; direction: { type: PropType<"vertical" | "horizontal">; default: string; }; listTag: { type: StringConstructor; default: string; }; itemTag: { type: StringConstructor; default: string; }; itemSize: { type: PropType; default: undefined; }; gridItems: NumberConstructor; itemSecondarySize: NumberConstructor; minItemSize: { type: PropType; default: undefined; }; sizeField: StringConstructor; typeField: StringConstructor; buffer: NumberConstructor; shift: BooleanConstructor; cache: PropType; prerender: NumberConstructor; emitUpdate: BooleanConstructor; disableTransform: BooleanConstructor; flowMode: BooleanConstructor; hiddenPosition: NumberConstructor; updateInterval: NumberConstructor; skipHover: BooleanConstructor; enabled: { type: BooleanConstructor; default: boolean; }; listClass: { type: PropType; }; itemClass: { type: PropType; }; threshold: { type: NumberConstructor; default: number; }; fixedSize: { type: BooleanConstructor; default: boolean; }; estimatedSize: { type: NumberConstructor; default: undefined; }; component: { type: PropType>; default: undefined; }; listAttrs: { type: PropType | undefined>; default: undefined; }; contentWrapperAttrs: { type: PropType | undefined>; default: undefined; }; contentAttrs: { type: PropType | undefined>; default: undefined; }; listStyle: { type: PropType; default: undefined; }; paddingPosition: { type: PropType<"content" | "list">; default: string; }; scrollbar: { type: PropType; default: boolean; }; }>, { scrollToItem: (index: number, options?: ScrollToOptions) => void; scrollToPosition: (position: number, options?: ScrollToOptions) => void; findItemIndex: (offset: number) => number; getItemOffset: (index: number) => number; getItemSize: (index: number) => number; cacheSnapshot: () => CacheSnapshot | undefined; restoreCache: () => boolean; updateVisibleItems: () => void; scrollToBottom: () => void; forceUpdate: () => void; getDynamicItemSize: (_item: unknown, index?: number) => number; scrollTo: (options: ScrollOptions) => void; }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, { update: (_startIndex: number, _endIndex: number, _visibleStartIndex: number, _visibleEndIndex: number) => any; scroll: (_ev: Event) => any; hidden: () => any; visible: () => any; resize: () => any; reachBottom: (_ev: Event) => any; scrollStart: () => any; scrollEnd: () => any; }, string, import("vue").PublicProps, Readonly; default: () => never[]; }; height: { type: PropType; default: undefined; }; keyField: { type: PropType VirtualItemKey)>; default: string; }; direction: { type: PropType<"vertical" | "horizontal">; default: string; }; listTag: { type: StringConstructor; default: string; }; itemTag: { type: StringConstructor; default: string; }; itemSize: { type: PropType; default: undefined; }; gridItems: NumberConstructor; itemSecondarySize: NumberConstructor; minItemSize: { type: PropType; default: undefined; }; sizeField: StringConstructor; typeField: StringConstructor; buffer: NumberConstructor; shift: BooleanConstructor; cache: PropType; prerender: NumberConstructor; emitUpdate: BooleanConstructor; disableTransform: BooleanConstructor; flowMode: BooleanConstructor; hiddenPosition: NumberConstructor; updateInterval: NumberConstructor; skipHover: BooleanConstructor; enabled: { type: BooleanConstructor; default: boolean; }; listClass: { type: PropType; }; itemClass: { type: PropType; }; threshold: { type: NumberConstructor; default: number; }; fixedSize: { type: BooleanConstructor; default: boolean; }; estimatedSize: { type: NumberConstructor; default: undefined; }; component: { type: PropType>; default: undefined; }; listAttrs: { type: PropType | undefined>; default: undefined; }; contentWrapperAttrs: { type: PropType | undefined>; default: undefined; }; contentAttrs: { type: PropType | undefined>; default: undefined; }; listStyle: { type: PropType; default: undefined; }; paddingPosition: { type: PropType<"content" | "list">; default: string; }; scrollbar: { type: PropType; default: boolean; }; }>> & Readonly<{ onUpdate?: ((_startIndex: number, _endIndex: number, _visibleStartIndex: number, _visibleEndIndex: number) => any) | undefined; onScroll?: ((_ev: Event) => any) | undefined; onHidden?: (() => any) | undefined; onVisible?: (() => any) | undefined; onResize?: (() => any) | undefined; onReachBottom?: ((_ev: Event) => any) | undefined; onScrollStart?: (() => any) | undefined; onScrollEnd?: (() => any) | undefined; }>, { shift: boolean; scrollbar: boolean | ScrollbarProps; enabled: boolean; emitUpdate: boolean; disableTransform: boolean; flowMode: boolean; skipHover: boolean; items: unknown[]; height: string | number; keyField: string | ((item: unknown, index: number) => VirtualItemKey); direction: "horizontal" | "vertical"; listTag: string; itemTag: string; itemSize: ItemSizeValue; minItemSize: string | number | null; threshold: number; fixedSize: boolean; estimatedSize: number; component: string | Record; listAttrs: Record | undefined; contentWrapperAttrs: Record | undefined; contentAttrs: Record | undefined; listStyle: CSSProperties | undefined; paddingPosition: "content" | "list"; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; declare const __VLS_export: __VLS_WithSlots; declare const _default: typeof __VLS_export; export default _default; type __VLS_WithSlots = T & { new (): { $slots: S; }; };