import { IMicroAppGuest, IMicroAppHost, BAEvent } from '@elliemae/pui-micro-frontend-base';
import { ScriptingObjectTypes, Events } from '@elliemae/pui-scripting-object';
import { ScriptingObjects, EventListeners } from '@elliemae/microfe-common';
import { SSFGuest } from '@elliemae/ssf-guest';
import { BreakPoint } from '@elliemae/pui-theme';
import { Logger } from '@elliemae/pui-diagnostics';
import { IMicroFEHost } from '@elliemae/pui-app-bridge';
import LogRocket from 'logrocket';
import { LoginParams } from './auth/types';
export type EMUI<AppObjects extends ScriptingObjects = Partial<ScriptingObjectTypes>, AppEvents extends EventListeners = Events> = {
    [key: string]: IMicroAppGuest<AppObjects, AppEvents> | IMicroAppGuest<AppObjects, AppEvents>[];
} & {
    _BASE_PATH: string;
    _ASSET_PATH: string;
    version: string;
    MicroAppHost?: IMicroFEHost<AppObjects, AppEvents> | IMicroAppHost | SSFGuest<AppObjects, AppEvents>;
    logger?: Logger;
    logRocket?: typeof LogRocket;
    logRocketConfig?: {
        appId: string;
        childDomains?: string[];
        parentDomain?: string;
        rootHostname?: string;
    };
    appId: string;
    uuid: string;
    app?: IMicroAppGuest;
    loginParams: LoginParams;
};
declare global {
    interface Window<AppObjects extends ScriptingObjects = Partial<ScriptingObjectTypes>, AppEvents extends EventListeners = Events> {
        gtmDataLayer: BAEvent[];
        emui: EMUI<AppObjects, AppEvents>;
        __TEST__: {
            [key: string]: unknown;
        };
    }
}
export declare const getWindow: () => WindowProxy;
export declare const getViewportSize: () => {
    width: number;
    height: number;
};
export declare const getCurrentBreakpoint: () => BreakPoint;
export declare const getAssetPath: () => string;
