import type { ConversationAssignment } from '../../infra/conversations/schema.js'; import type { ConversationCommand, ConversationPort, ConversationState, PortOutput, Submission } from './conversationPort.js'; import { type SnapshotDisplayItem } from './snapshotChanges.js'; import type { AssistantCliOverrides } from '../../core/config/provider-resolution.js'; export interface ConversationClientSnapshot { connection: 'connecting' | 'connected' | 'disconnected'; readStatus: 'reading' | 'complete' | 'incomplete'; state: ConversationState | null; items: readonly SnapshotDisplayItem[]; error: string | null; } type Output = Exclude; export declare class ConversationIpcClient { private readonly assignment; private readonly agentOverrides?; private readonly options?; private socket; private requests; private listeners; private outputs; private receiver; private resolved; private attachmentId; private closed; private connecting; private read; private reconnectTimer; private committedItems; private items; private readItems; private removed; private view; private configDirectory; constructor(assignment: ConversationAssignment, agentOverrides?: AssistantCliOverrides | undefined, options?: { port: ConversationPort; reconnect: boolean; } | undefined); getSnapshot: () => ConversationClientSnapshot; subscribe: (listener: () => void) => (() => void); onOutput(listener: (output: Output) => void): () => void; connect(): Promise; submit(command: ConversationCommand, onAccepted?: (operationId: string) => void): Promise; refresh(): Promise; close(): void; private reopen; private update; private open; private requestRead; private request; private disconnect; } export {}; //# sourceMappingURL=conversationIpcClient.d.ts.map