import { CacheSnapshot, DynamicScrollerExposed, DynamicScrollerSlotProps, KeyFieldValue, KeyValue, ScrollDirection } 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 onVisible?: (() => any) | undefined;
        readonly onResize?: (() => any) | undefined;
    } & import('vue').VNodeProps & import('vue').AllowedComponentProps & import('vue').ComponentCustomProps, never>, "onResize" | "onVisible"> & {
        items: TItem[];
        keyField?: KeyFieldValue<any>;
        direction?: ScrollDirection;
        listTag?: string;
        itemTag?: string;
        minItemSize: number | string;
        shift?: boolean;
        cache?: CacheSnapshot;
        disableTransform?: boolean;
        flowMode?: boolean;
        hiddenPosition?: number;
        enabled?: boolean;
        /**
         * Mirror of `RecycleScroller`'s `pageMode`: render against an outer scroll
         * parent (page or ancestor) instead of giving the scroller its own
         * scrollable box.
         */
        pageMode?: boolean;
        /**
         * Override the auto-detected scroll-parent used when `pageMode` is on.
         * Accepts an HTMLElement or `Window`. When omitted, the closest scrollable
         * ancestor is used. See issue #928.
         */
        scrollParent?: HTMLElement | Window;
    } & Partial<{}>> & import('vue').PublicProps;
    expose(exposed: import('vue').ShallowUnwrapRef<DynamicScrollerExposed<TItem>>): void;
    attrs: any;
    slots: Readonly<{
        default?: (props: DynamicScrollerSlotProps<TItem, KeyValue>) => unknown;
        before?: () => unknown;
        after?: () => unknown;
        empty?: () => unknown;
    }> & {
        default?: (props: DynamicScrollerSlotProps<TItem, KeyValue>) => unknown;
        before?: () => unknown;
        after?: () => unknown;
        empty?: () => unknown;
    };
    emit: ((evt: "visible") => void) & ((evt: "resize") => void);
}>) => import('vue').VNode & {
    __ctx?: Awaited<typeof __VLS_setup>;
};
export default _default;
type __VLS_PrettifyLocal<T> = {
    [K in keyof T]: T[K];
} & {};
