import { ExtractPropTypes, PropType } from 'vue'; import { ScrollTo } from './use-scroll-to'; import { ScrollbarProps } from '../../scrollbar/src/scrollbar'; export declare const virtualListProps: { scrollbarProps: PropType; virtualScroll: { type: BooleanConstructor; default: boolean; }; data: { type: PropType; default: () => never[]; }; wrapperMaxSize: { type: NumberConstructor; default: number; }; vertical: { type: BooleanConstructor; default: boolean; }; itemSize: { type: NumberConstructor; default: number; }; minBound: { type: NumberConstructor; default: number; validator: (val: number) => boolean; }; maxBound: { type: NumberConstructor; default: (props: { wrapperMaxSize: number; }) => number; }; keyField: { type: StringConstructor; default: string; }; }; export type VirtualListProps = ExtractPropTypes; export interface VirtualListExposed { scrollTo: ScrollTo; render: () => void; } declare class VirtualListFactory { define(): import('vue').DefineComponent<{ data: { type: PropType; default: () => never[]; }; scrollbarProps: PropType; virtualScroll: { type: BooleanConstructor; default: boolean; }; wrapperMaxSize: { type: NumberConstructor; default: number; }; vertical: { type: BooleanConstructor; default: boolean; }; itemSize: { type: NumberConstructor; default: number; }; minBound: { type: NumberConstructor; default: number; validator: (val: number) => boolean; }; maxBound: { type: NumberConstructor; default: (props: { wrapperMaxSize: number; }) => number; }; keyField: { type: StringConstructor; default: string; }; }, (() => (import('vue').VNode[] | undefined)[]) | (() => JSX.Element), unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{ data?: unknown; scrollbarProps?: unknown; virtualScroll?: unknown; wrapperMaxSize?: unknown; vertical?: unknown; itemSize?: unknown; minBound?: unknown; maxBound?: unknown; keyField?: unknown; } & { data: T[]; vertical: boolean; virtualScroll: boolean; wrapperMaxSize: number; itemSize: number; minBound: number; maxBound: number; keyField: string; } & { scrollbarProps?: ({ theme?: unknown; themeOverrides?: unknown; trigger?: unknown; contentClass?: unknown; contentStyle?: unknown; } & { trigger: "none" | "hover"; } & { theme?: import('../../../theme-chalk').ThemeKey | undefined; themeOverrides?: Partial<{ scrollbarBackgroundColor: any; scrollbarBackgroundColorHover: any; scrollbarBorderRadius: any; scrollbarTransitionTime: any; cubicBezierEaseInOut: any; scrollbarSize: any; }> | undefined; contentClass?: any; contentStyle?: import('vue').StyleValue | undefined; }) | undefined; }>, { data: T[]; vertical: boolean; virtualScroll: boolean; wrapperMaxSize: number; itemSize: number; minBound: number; maxBound: number; keyField: string; }>; } declare const main: import('vue').DefineComponent<{ data: { type: PropType; default: () => never[]; }; scrollbarProps: PropType; virtualScroll: { type: BooleanConstructor; default: boolean; }; wrapperMaxSize: { type: NumberConstructor; default: number; }; vertical: { type: BooleanConstructor; default: boolean; }; itemSize: { type: NumberConstructor; default: number; }; minBound: { type: NumberConstructor; default: number; validator: (val: number) => boolean; }; maxBound: { type: NumberConstructor; default: (props: { wrapperMaxSize: number; }) => number; }; keyField: { type: StringConstructor; default: string; }; }, (() => (import('vue').VNode[] | undefined)[]) | (() => JSX.Element), unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, Record, string, import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, Readonly<{ data?: unknown; scrollbarProps?: unknown; virtualScroll?: unknown; wrapperMaxSize?: unknown; vertical?: unknown; itemSize?: unknown; minBound?: unknown; maxBound?: unknown; keyField?: unknown; } & { data: any[]; vertical: boolean; virtualScroll: boolean; wrapperMaxSize: number; itemSize: number; minBound: number; maxBound: number; keyField: string; } & { scrollbarProps?: ({ theme?: unknown; themeOverrides?: unknown; trigger?: unknown; contentClass?: unknown; contentStyle?: unknown; } & { trigger: "none" | "hover"; } & { theme?: import('../../../theme-chalk').ThemeKey | undefined; themeOverrides?: Partial<{ scrollbarBackgroundColor: any; scrollbarBackgroundColorHover: any; scrollbarBorderRadius: any; scrollbarTransitionTime: any; cubicBezierEaseInOut: any; scrollbarSize: any; }> | undefined; contentClass?: any; contentStyle?: import('vue').StyleValue | undefined; }) | undefined; }>, { data: any[]; vertical: boolean; virtualScroll: boolean; wrapperMaxSize: number; itemSize: number; minBound: number; maxBound: number; keyField: string; }>; export declare function GenericVirtualList(): ReturnType['define']>; export default main;