import { CacheSnapshot, ClassValue, KeyValue, RecycleScrollerSlotProps, ScrollDirection, WindowScrollerExposed } from '../types';
declare const _default: <TItem>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
    props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{
        readonly onResize?: (() => any) | undefined;
        readonly onVisible?: (() => any) | undefined;
        readonly onHidden?: (() => any) | undefined;
        readonly onUpdate?: ((startIndex: number, endIndex: number, visibleStartIndex: number, visibleEndIndex: number) => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onResize" | "onVisible" | "onUpdate" | "onHidden"> & {
        items: TItem[];
        keyField?: string;
        direction?: ScrollDirection;
        listTag?: string;
        itemTag?: string;
        itemSize?: number | null;
        gridItems?: number;
        itemSecondarySize?: number;
        minItemSize?: number | string | null;
        sizeField?: string;
        typeField?: string;
        buffer?: number;
        shift?: boolean;
        cache?: CacheSnapshot;
        prerender?: number;
        emitUpdate?: boolean;
        disableTransform?: boolean;
        updateInterval?: number;
        listClass?: ClassValue;
        itemClass?: ClassValue;
    } & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<WindowScrollerExposed<TItem, KeyValue>>): void;
    attrs: any;
    slots: Readonly<{
        default?: (props: RecycleScrollerSlotProps<TItem>) => unknown;
        before?: () => unknown;
        after?: () => unknown;
        empty?: () => unknown;
    }> & {
        default?: (props: RecycleScrollerSlotProps<TItem>) => unknown;
        before?: () => unknown;
        after?: () => unknown;
        empty?: () => unknown;
    };
    emit: ((evt: "resize") => void) & ((evt: "visible") => void) & ((evt: "hidden") => void) & ((evt: "update", startIndex: number, endIndex: number, visibleStartIndex: number, visibleEndIndex: number) => void);
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
