import type { Transport } from '../core/transport.js'; import type { StdoutMessage } from '../types/control.js'; import type { DaemonWireSessionMessage } from './protocol.js'; import type { DaemonConnection } from './daemon-connection.js'; export type DaemonSessionTransportOptions = { workerArgs: string[]; cwd?: string; configDir?: string; cleanup?: () => void; }; export declare class DaemonSessionTransport implements Transport { private readonly connection; private readonly options; private readonly messages; private readonly pendingMessages; private initializePromise; private sessionId; private flushingPendingMessages; private inputEnded; private resultReceived; private commandLifecycleSupported; private readonly pendingCommandUuids; private closed; private cleaned; private releasePromise; private closePromise; constructor(connection: DaemonConnection, options: DaemonSessionTransportOptions); initialize(): Promise; write(data: string): void; readMessages(): AsyncGenerator; endInput(): void; close(): Promise; isReady(): boolean; acceptOutput(message: DaemonWireSessionMessage): void; fail(error: unknown): void; private open; private failAndRelease; private startRelease; private releaseSessionOnce; private releaseSession; private trackOutboundCommand; private observeCapabilities; private updateCommandLifecycleCapability; private observeCommandLifecycle; private maybeCloseAfterResult; private performClose; private cleanup; }