import { api } from '@replit/protocol'; import type { ChannelCloseReason, RequestResult } from './types'; import CrosisError from './util/CrosisError'; export declare class Channel { id: number; readonly name?: string; readonly service: string; status: 'open' | 'closed' | 'closing'; private sendToContainer; private requestMap; private onCommandListeners; private onUnrecoverableError; constructor({ id, name, service, send, onUnrecoverableError, }: { id: number; name?: string; service: string; send: (cmd: api.Command) => void; onUnrecoverableError: (e: CrosisError) => void; }); onCommand: (listener: (cmd: api.Command) => void) => (() => void); send: (cmdJson: api.ICommand) => void; request: (cmdJson: api.ICommand) => Promise; handleCommand: (cmd: api.Command) => void; handleClose: (reason: ChannelCloseReason) => void; private getExtras; }