import { RpcMessageListener, WindowLike } from './comms'; import { RpcMessage, RpcMessageType } from './rpc_messages'; export declare type UnknownMessageEventListener = (ev: MessageEvent) => void; export declare class SecureChannel { private port; private providerEnd; private mainListener; private listeners; private fallbackListeners; static clientConnect(clientWindow: WindowLike, providerWindow: WindowLike, connectionNonce: string, timeoutMs?: number): Promise; static clientConnectNoTimeout(clientWindow: WindowLike, providerWindow: WindowLike, connectionNonce: string): Promise; static providerReadyToConnect(clientWindow: WindowLike, expectedNonce: string): Promise; static providerConnect(providerWindow: WindowLike, permittedOrigins: string[], connectionNonce: string, timeoutMs?: number): Promise; private static debugLog(role, message); constructor(port: MessagePort, providerEnd: boolean); send(message: RpcMessage): void; listen(messageType: T, listener: RpcMessageListener): number; addFallbackListener(fallbackListener: UnknownMessageEventListener): void; unlisten(key: number): RpcMessageListener | null; debugLog(message: string): void; dispose(): void; }