import { Router } from 'vue-router';
import { SendMessageToMainApp, SendMessageToMicroApp, AddEventListenerFromMainApp, AddEventListenerFromMicroApp } from './type';

declare const microFrontend: {
    loadMicroApp: (name: string) => void;
    hideMicroApp: (name: string) => any;
    hideAllMicroApp: () => void;
    unloadMicroApp: (name: string) => void;
    unloadAllMicroApp: () => void;
    setMicroAppRoute: (router: Router, name: string, route: any) => Promise<any>;
    sendMessageToMicroApp: SendMessageToMicroApp;
    sendMessageToMainApp: SendMessageToMainApp;
    addEventListenerFromMainApp: AddEventListenerFromMainApp;
    addEventListenerFromMicroApp: AddEventListenerFromMicroApp;
    setMainAppOverlay: (visible: boolean, style?: any) => void;
    sessionStorage: {
        key: any;
        getItem: any;
        setItem: (key: string, value: string) => void;
        removeItem: (key: string) => void;
        clear: () => void;
    };
    addMicroAppLifeCycleListener: (type: "onLoaded" | "onActivated" | "onDeactivated", cb: any) => {
        remove: () => void;
    };
    triggerMicroAppLifeCycleListener: (type: "onLoaded" | "onActivated" | "onDeactivated", payload?: any, options?: {
        autoRemove?: boolean;
    }) => void;
    reloadMicroAppRoute: (name: string, path: string) => any;
    unloadMicroAppRoute: (name: string, path: string) => any;
    setMainAppLayoutVisible: (value: boolean) => void;
};
export { microFrontend };
