import { DisposableCollection } from '@theia/core/lib/common/disposable'; import { Event } from '@theia/core/lib/common/event'; import { ChildProcess } from 'child_process'; import * as stream from 'stream'; import * as net from 'net'; import { DebugAdapter } from '../common/debug-model'; declare abstract class StreamDebugAdapter extends DisposableCollection { private fromAdapter; private toAdapter; private messageReceivedEmitter; onMessageReceived: Event; private errorEmitter; onError: Event; private closeEmitter; onClose: Event; private static TWO_CRLF; private static CONTENT_LENGTH; private contentLength; private buffer; constructor(fromAdapter: stream.Readable, toAdapter: stream.Writable); handleClosed(): void; send(message: string): void; protected handleData(data: Buffer): void; } export declare class ProcessDebugAdapter extends StreamDebugAdapter implements DebugAdapter { protected readonly process: ChildProcess; constructor(process: ChildProcess); stop(): Promise; } export declare class SocketDebugAdapter extends StreamDebugAdapter implements DebugAdapter { private readonly socket; constructor(socket: net.Socket); stop(): Promise; } export {}; //# sourceMappingURL=stream-debug-adapter.d.ts.map