import { Bounds, IOConnectAPI, PopupTargetLocation, Size } from "../../../types/internal";
export declare class ExternalWindowPopupController {
    private readonly io;
    private popupPromise;
    private popup;
    constructor(io: IOConnectAPI);
    init(): Promise<void>;
    getContainer(): HTMLElement | undefined;
    show(targetBounds: Bounds, size: Size, targetLocation: PopupTargetLocation): Promise<void>;
    resize(size: Size): Promise<void>;
    onPopupVisibilityChanged(callback: (isVisible: boolean) => void): () => void;
    onPopupClosed(callback: () => void): () => void;
    hide(): Promise<void>;
}
//# sourceMappingURL=external-window-popup-controller.d.ts.map