import { ComponentPublicInstance } from 'vue'; export interface BaseConfig { error: string; loading: string; errorClassList: Array; loadingClassList: Array; loadedClassList: Array; onError?: (el: ExtHTMLElement, lazy: DirectiveConfig) => void; onLoad?: (el: ExtHTMLElement, lazy: DirectiveConfig) => void; } export interface Config extends BaseConfig { timeout: number; component: boolean; debounce: boolean; afterListen?: (event: Event | undefined, lazyKeyElSetMap: Map>, lazyKeyVmSetMap: Map>) => void; } export declare type LazyOptions = Partial; export interface DirectiveConfig extends BaseConfig { lazyKey: string; src: string; } export interface ExtComponentPublicInstance extends ComponentPublicInstance { isLoaded: boolean; $props: { lazyKey: string; }; } export interface ExtHTMLElement extends HTMLElement { lazy: DirectiveConfig; __isLoaded?: boolean; } export declare type Vm_El = ExtComponentPublicInstance | ExtHTMLElement; export declare const enum ViewStatus { in = 0, notIn = 1, below = 2, higher = 3, horizontalHide = 4, noView = 5 } export interface UpdateInfo { tempSet: Set; timer: number; sort: boolean; }