import { CancellablePromise } from '@theintern/common'; import { RemoteEvents } from '../RemoteSuite'; export default abstract class BaseChannel { readonly url: string; readonly sessionId: string; constructor(options: ChannelOptions); sendMessage(name: keyof RemoteEvents, data: any): CancellablePromise; protected abstract _sendData(name: keyof RemoteEvents, data: any): CancellablePromise; } export interface ChannelOptions { sessionId: string; url: string; port?: number; timeout?: number; } export declare function isChannel(value: any): value is BaseChannel; export interface ChannelOptions { sessionId: string; url: string; port?: number; timeout?: number; } export interface Message { sessionId: string; id: string; name: string; data: any; }