import * as plugins from './plugins.js'; type TConnection = Awaited>; type TOpenOptions = Parameters[0]; /** Owns both inspector streams, including partially constructed and late-opening sessions. */ export declare class ControllerBrowserDevToolsTransport { readonly tabId: string; private readonly parentSignal; readonly id: string; readonly identity: symbol; readonly abortController: AbortController; commands?: plugins.typedrequestInterfaces.TVirtualStream<'receive'>; events?: plugins.typedrequestInterfaces.TVirtualStream<'send'>; private opening?; private connection?; private drain?; private pending; private eventWrites; private eventAdmission; private readonly eventBuffer; private eventBufferBytes; private eventFlush?; private eventFlushImmediate?; private settlement?; private timer?; constructor(tabId: string, parentSignal: AbortSignal); private parentAborted; open(open: (options: TOpenOptions) => Promise): Promise; /** Start only after both stream descriptors exist; the RPC returns before they open. */ start(): void; watchStream(stream: plugins.typedrequestInterfaces.TVirtualStream<'send' | 'receive'>): void; private receiveCommands; private sendEvent; private scheduleEventFlush; private flushEvents; stop(reason: unknown): void; close(reason?: Error): Promise; } export {};