import { JsonRpc } from '../../../common/jsonrpc';
import { IOverlay, OverlayConfig, OverlaySourceModule } from '../interfaces';
export declare class OverlayIframe implements IOverlay {
    private _iframeMessenger;
    url: string;
    title: string;
    source: string;
    hidden: boolean;
    parent: IOverlay;
    module: OverlaySourceModule;
    registryUrl: string;
    frame: HTMLIFrameElement;
    registered: boolean;
    onmessage: (topic: string, message: any) => void;
    onclose: Function;
    loader: HTMLDivElement;
    onregisteredchange: (value: boolean) => void;
    readonly id: string;
    private _callbacks;
    constructor(_iframeMessenger: JsonRpc, config: OverlayConfig);
    open(callback?: Function): void;
    close(): void;
    send(topic: string, args: any[]): void;
    exec(topic: string, message: any): Promise<void>;
    onMessage(handler: (topic: string, message: any) => void): {
        off: () => void;
    };
}
