export declare class Channel { protected target: Window; protected _port?: MessagePort; protected listeners: Map Promise | any>; protected awaitingResponse: Map void>; constructor(target?: Window | null); protected get port(): MessagePort; open(): Promise; connect(): Promise; protected startListening(): void; protected respond(uuid: string, payload: any, error?: string): void; trigger(event: string, data: TriggerData, responseTimeout?: number): Promise; protected _simpleTrigger(event: string, data: T, triggerId?: string, noResponse?: true): void; simpleTrigger(event: string, data: T): void; on(eventName: string, callback: (data: Data, origin: string) => Response | Promise): { dispose: () => void; }; }