/** @format */
import type { PropType } from 'vue';
declare const _default: import("vue").DefineComponent<{
    timeout: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    viewport: {
        type: PropType<HTMLElement>;
        default: () => any;
    };
    threshold: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    } & {
        default: string;
    };
    direction: import("vue-types").VueTypeDef<string> & {
        default: string;
    };
    tag: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    } & {
        default: string;
    };
    maxWaitingTime: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    } & {
        default: number;
    };
    transitionName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    } & {
        default: string;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
}, {
    isInit: import("vue").Ref<boolean>;
    loading: import("vue").Ref<boolean>;
    intersectionObserverInstance: import("vue").Ref<{
        readonly root: Element | Document;
        readonly rootMargin: string;
        readonly thresholds: {
            [x: number]: number;
            readonly length: number;
            toString: (() => string) & (() => string);
            toLocaleString: (() => string) & (() => string);
            concat: {
                (...items: ConcatArray<number>[]): number[];
                (...items: (number | ConcatArray<number>)[]): number[];
            };
            join: (separator?: string) => string;
            slice: (start?: number, end?: number) => number[];
            indexOf: (searchElement: number, fromIndex?: number) => number;
            lastIndexOf: (searchElement: number, fromIndex?: number) => number;
            every: {
                <S extends number>(predicate: (value: number, index: number, array: readonly number[]) => value is S, thisArg?: any): this is readonly S[];
                (predicate: (value: number, index: number, array: readonly number[]) => unknown, thisArg?: any): boolean;
            };
            some: (predicate: (value: number, index: number, array: readonly number[]) => unknown, thisArg?: any) => boolean;
            forEach: (callbackfn: (value: number, index: number, array: readonly number[]) => void, thisArg?: any) => void;
            map: <U>(callbackfn: (value: number, index: number, array: readonly number[]) => U, thisArg?: any) => U[];
            filter: {
                <S_1 extends number>(predicate: (value: number, index: number, array: readonly number[]) => value is S_1, thisArg?: any): S_1[];
                (predicate: (value: number, index: number, array: readonly number[]) => unknown, thisArg?: any): number[];
            };
            reduce: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: readonly number[]) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: readonly number[]) => number, initialValue: number): number;
                <U_1>(callbackfn: (previousValue: U_1, currentValue: number, currentIndex: number, array: readonly number[]) => U_1, initialValue: U_1): U_1;
            };
            reduceRight: {
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: readonly number[]) => number): number;
                (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: readonly number[]) => number, initialValue: number): number;
                <U_2>(callbackfn: (previousValue: U_2, currentValue: number, currentIndex: number, array: readonly number[]) => U_2, initialValue: U_2): U_2;
            };
            find: {
                <S_2 extends number>(predicate: (this: void, value: number, index: number, obj: readonly number[]) => value is S_2, thisArg?: any): S_2;
                (predicate: (value: number, index: number, obj: readonly number[]) => unknown, thisArg?: any): number;
            };
            findIndex: (predicate: (value: number, index: number, obj: readonly number[]) => unknown, thisArg?: any) => number;
            entries: () => IterableIterator<[number, number]>;
            keys: () => IterableIterator<number>;
            values: () => IterableIterator<number>;
            includes: (searchElement: number, fromIndex?: number) => boolean;
            [Symbol.iterator]: (() => IterableIterator<number>) & (() => IterableIterator<number>);
        } & {
            [Symbol.iterator]: (() => IterableIterator<number>) & (() => IterableIterator<number>);
        };
        disconnect: () => void;
        observe: (target: Element) => void;
        takeRecords: () => IntersectionObserverEntry[];
        unobserve: (target: Element) => void;
    }>;
    elRef: any;
    prefixClsNew: import("vue").ComputedRef<string>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "init"[], "init", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<{
    tag: string;
    prefixCls: string;
    direction: string;
    transitionName: string;
    timeout: number;
    threshold: string;
    viewport: HTMLElement;
    maxWaitingTime: number;
} & {}>, {
    tag: string;
    prefixCls: string;
    direction: string;
    transitionName: string;
    timeout: number;
    threshold: string;
    viewport: HTMLElement;
    maxWaitingTime: number;
}>;
export default _default;
