import { App } from 'vue';
import Loading from './loading';
import directive from './directive';
export declare const IvueLoading: {
    install(app: App): void;
    directive: import("vue").Directive<import("./directive").ElementLoading, import("./directive").LoadingBinding>;
    service: (options?: Partial<Omit<import("./types/loading").LoadingOptionsResolved, "target" | "parent"> & {
        target: string | HTMLElement;
        body: boolean;
    }>) => {
        setText: (text: string) => void;
        close: () => void;
        removeLoadingChild: () => void;
        handleAfterLeave: () => void;
        vm: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $el: HTMLElement;
        originalPosition: import("vue").Ref<string>;
        originalOverflow: import("vue").Ref<string>;
        visible: import("vue").Ref<boolean>;
        parent: import("vue").Ref<import("./types/loading").LoadingParentElement>;
        background: import("vue").Ref<string>;
        iconClass?: import("vue").Ref<string>;
        iconText?: import("vue").Ref<string>;
        text: import("vue").Ref<string>;
        fullscreen: import("vue").Ref<boolean>;
        lock: import("vue").Ref<boolean>;
        customClass: import("vue").Ref<string>;
        target: import("vue").Ref<HTMLElement>;
        loadingSpinner: import("vue").Ref<() => import("vue").VNode<import("vue").RendererNode, import("vue").RendererElement, {
            [key: string]: any;
        }>>;
        beforeClose?: import("vue").Ref<() => boolean>;
    };
};
export default IvueLoading;
export { directive, directive as IvueLoadingDirective, Loading as IvueLoadingService, };
