import type { PropType, ExtractPropTypes } from 'vue';
import type { Arrayable, JSXElement, StyleValue } from '../../_utils/types';
export declare const _props: {
    height: {
        type: PropType<string | number>;
        require: boolean;
    };
    forceRender: {
        type: BooleanConstructor;
    };
    placeholder: {
        type: PropType<JSXElement>;
    };
    unmountIfInvisible: {
        type: BooleanConstructor;
    };
    root: {
        type: PropType<Element | null>;
    };
    rootMargin: {
        type: StringConstructor;
        default: string;
    };
    threshold: {
        type: PropType<number | number[]>;
        default: number;
    };
    trackVisibility: {
        type: BooleanConstructor;
    };
    skip: {
        type: BooleanConstructor;
    };
    delay: {
        type: NumberConstructor;
        default: number;
    };
    class: {
        type: PropType<string | Arrayable<Record<string, boolean>>>;
    };
    style: {
        type: PropType<StyleValue>;
    };
};
export declare const _emits: {
    change: (inView: boolean, entry: IntersectionObserverEntry) => boolean;
};
export type LazyLoadProps = ExtractPropTypes<typeof _props>;
export type LazyLoadEmits = typeof _emits;
