import EventEmitter from 'events'; import { CoreEventMessage, IFrameLoaded } from '@trezor/connect/lib/events'; import type { ConnectSettings } from '@trezor/connect/lib/types'; import { Log } from '@trezor/connect/lib/utils/debug'; import { AbstractMessageChannel, Message } from '@trezor/connect-common/lib/messageChannel/abstract'; import type { IntervalId, TimerId } from '@trezor/type-utils'; import { Deferred } from '@trezor/utils'; export declare class PopupManager extends EventEmitter { popupWindow: { mode: 'tab'; tab: chrome.tabs.Tab; } | { mode: 'window'; window: Window; } | undefined; settings: ConnectSettings; origin: string; locked: boolean; channel: AbstractMessageChannel; channelIframe?: AbstractMessageChannel; handshakePromise: Deferred | undefined; iframeHandshakePromise: Deferred | undefined; popupPromise: Deferred | undefined; requestTimeout: TimerId | undefined; openTimeout: TimerId | undefined; closeInterval: IntervalId | undefined; extensionTabId: number; logger: Log; constructor(settings: ConnectSettings, { logger }: { logger: Log; }); request(): Promise; unlock(): void; open(): void; buildPopupUrl(src: string): string; openWrapper(url: string): void; private injectContentScript; handleCoreMessage(message: Message): void; handleExtensionMessage(data: Message): void; handleMessage(data: Message): void; clear(focus?: boolean): void; close(): void; private isWebExtensionWithTab; emitClosed(): void; } //# sourceMappingURL=index.d.ts.map