import type { ImportedComponent } from 'vue/types/options';
import type { LazyloadScopedSlots, LazyloadEvents, LazyloadTransitions, LazyloadProps } from './types';
import { CSSProperties, VNode } from 'vue';
import { ImgHTMLAttributes } from 'vue-tsx-support/types/dom';
declare const Lazyload: import("vue-tsx-support")._TsxComponentV3<import("vue").default<Record<string, any>, Record<string, any>, never, never, (event: string, ...args: any[]) => import("vue").default<Record<string, any>, Record<string, any>, never, never, any>> & import("../_utils/defineComponent").OhuComponentInnerProps & {
    hasLoaded: boolean;
    asyncNode: null | VNode;
    asyncError: Error | null;
    hasImageLoaded: boolean;
    observer: null | IntersectionObserver;
} & {
    init(): void;
    initState(): void;
    reload(): void;
    loadAsync(): void;
    initObserver(): void;
    destroyObserver(): void;
} & {
    disabled: boolean;
    rootElement: Element | null;
    threshold: number;
    rootMargin: string;
    tag: string;
    src: string;
    asyncComponent: (() => Promise<ImportedComponent>) | null;
    imgAttrs: ImgHTMLAttributes | undefined;
    imgStyle: CSSProperties | undefined;
    animation: LazyloadTransitions;
}, {}, {} & {
    disabled?: boolean | undefined;
    rootElement?: Element | null | undefined;
    threshold?: number | undefined;
    rootMargin?: string | undefined;
    tag?: string | undefined;
    src?: string | undefined;
    asyncComponent?: (() => Promise<ImportedComponent>) | null | undefined;
    imgAttrs?: ImgHTMLAttributes | undefined;
    imgStyle?: CSSProperties | undefined;
    animation?: LazyloadTransitions | undefined;
} & LazyloadProps, LazyloadEvents, {}, LazyloadScopedSlots>;
export default Lazyload;
