/// /// import tls from 'tls'; import type { demux } from './generated'; import { BaseEmitter } from './typed-emitter'; export interface DemuxSocketProps { host: string; startRequestId: number; timeout: number; tlsConnectionOptions?: tls.ConnectionOptions; } export declare type DemuxSocketEvents = { connectionData: (connectionId: number, connectionData: Buffer) => void; push: (payload: demux.Downstream & protobuf.Message) => void; }; export declare class DemuxSocket extends BaseEmitter { private host; private debug; private currentRequestId; private timeout; private tlsConnectionOptions?; socket?: tls.TLSSocket; private pendingRequestResponses; private incomingPayloadBuffer; private incomingPayloadLength; constructor(props: DemuxSocketProps); private getSocket; private write; private handleDownstreamData; request(payload: Omit): Promise; push(payload: demux.Push): Promise; destroy(error?: Error | undefined): Promise; }