import { RemoteClientCore } from '@dsh-remote/client-core'; import type { CodexAppFrameData, CodexAppStreamClosedData } from '@dsh-remote/protocol'; import type { CodexLoopbackStream, ConnectedRemote, HostAuthorizationControl } from './client-runtime-contract.js'; /** Collaborates with one ClientModeRuntime; never creates a second session or connection state. */ export interface ClientCodexStreamsContext { readonly activeRemote: () => ConnectedRemote | undefined; readonly codexStreams: Map; readonly host: HostAuthorizationControl | undefined; } export declare class ClientCodexStreams { private readonly context; constructor(context: ClientCodexStreamsContext); activeCodexRemote(): ConnectedRemote | undefined; openCodexStream(payload: unknown, signal?: AbortSignal): Promise; readonly publishLocalCodexFrame: (event: "codex.app.frame" | "codex.app.stream.closed", data: CodexAppFrameData | CodexAppStreamClosedData) => Promise; appendCodexFrame(stream: CodexLoopbackStream, data: unknown): void; localCodexAvailable(): boolean; requireLocalCodex(): Required>; nextCodexFrames(payload: unknown, signal?: AbortSignal): Promise; closeCodexStream(payload: unknown): Promise; closeCodexStreams(client?: RemoteClientCore): Promise; } //# sourceMappingURL=client-codex-streams.d.ts.map