///
///
import type { ProtocolRequest, ProtocolResponse, ProtocolUpdate } from './events/ProtocolEvent';
export declare class DebugProtocolClientReplaySession {
constructor(options: {
bufferLog: string;
});
private disposables;
/**
* A dumb tcp server that will simply spit back the server buffer data when needed
*/
private server;
private ioSocket;
private client;
private entryIndex;
private entries;
private peekEntry;
private advanceEntry;
private flushIO;
private parseBufferLog;
result: Array;
private finished;
private controlPort;
private ioPort;
run(): Promise;
private createClient;
private openIOPort;
private clientSync;
private clientActionQueue;
private clientProcess;
private finalizeIfDone;
private createServer;
private serverActionQueue;
private serverSync;
private serverProcessIdx;
private serverProcess;
/**
* Sleep for the amount of time between the two specified entries
*/
private sleepForEntryGap;
destroy(): Promise;
}
export interface BufferLogEntry {
type: 'client-to-server' | 'server-to-client' | 'io';
timestamp: Date;
buffer: Buffer;
}