/// /// import { EventEmitter } from 'events'; export interface Channel { /** is the channel alive? */ isAlive?: boolean; /** Forcibly close the channel */ close: () => void; /** Send a message over the channel */ send: (msg: string | Buffer) => void; on: (eventType: string, handler: any) => void; removeEventListener: (eventType: string, handler: any) => void; readyState: number; } export declare enum ReadyState { CONNECTING = 0, OPEN = 1, CLOSING = 2, CLOSED = 3 } /** * Channel impl for direct, in-electron communication * */ export declare class InProcessChannel extends EventEmitter implements Channel { readyState: ReadyState; private otherSide; constructor(otherSide?: InProcessChannel); init(): Promise; /** Forcibly close the channel */ close(): void; /** emit 'message' on the other side */ send(msg: string): void; removeEventListener(eventType: string, handler: any): void; } /** * Thin wrapper on top of WebView postMessage * */ export declare class WebViewChannelRendererSide extends EventEmitter implements Channel { readyState: ReadyState; private channelId; init(): Promise; /** Forcibly close the channel */ close(): void; /** emit 'message' on the other side */ send(body: string): void; removeEventListener(eventType: string, handler: any): void; }