import { type Client, type Agent } from "@agentclientprotocol/sdk"; import { type AgentConnection } from "./acp-types.js"; export interface ClientDeps { readonly enqueueMessageBlock: (sessionId: string, turnId: string, kind: string, content: string) => Promise; readonly updateSessionName: (sessionId: string, title: string) => Promise; readonly broadcast: (sessionId: string, event: unknown) => void; } export interface ConnRef { current: AgentConnection | null; /** Updates that arrived before current was set — drained by connect() */ pending: Array>; } export declare const makeClient: (deps: ClientDeps, sessionId: string, connRef: ConnRef) => ((agent: Agent) => Client); /** Apply a session update to an established connection's in-memory state. */ export declare function applySessionUpdate(deps: ClientDeps, sessionId: string, conn: AgentConnection, update: Record, eventType: string | undefined): void;