import { Context, Effect, Layer } from "effect"; import { AcpConnectionError, AuthRequiredError } from "./schema.js"; import { EventBroadcaster } from "./event-broadcaster.js"; import { type SubscribeResult } from "./acp-types.js"; import { EventHub, type EventHubStats } from "./event-hub.js"; import { ConnectionManager, type ConnectionManagerStats } from "./connection-manager.js"; import { PromptEngine, type PromptInputBlock } from "./prompt-engine.js"; import { WriteQueue, type WriteQueueStats } from "./write-queue.js"; declare const AcpClient_base: Context.TagClass>) => Effect.Effect<{ agentSessionId: string; }, AcpConnectionError | AuthRequiredError>; readonly prompt: (sessionId: string, blocks: ReadonlyArray) => Effect.Effect<{ userTurnId: string; assistantTurnId: string; }, AcpConnectionError>; readonly cancel: (sessionId: string) => Effect.Effect; readonly disconnect: (sessionId: string) => Effect.Effect; readonly isConnected: (sessionId: string) => Effect.Effect; readonly subscribe: (sessionId: string, afterEventId?: number) => Effect.Effect; readonly unsubscribe: (sessionId: string, subscriberId: string) => Effect.Effect; readonly respondToPermission: (sessionId: string, requestId: string, optionId: string) => Effect.Effect; readonly connectedSessionIds: () => ReadonlySet; readonly promptingSessionIds: () => ReadonlySet; readonly getAvailableCommands: (sessionId: string) => Effect.Effect>, AcpConnectionError>; readonly getConfigOptions: (sessionId: string) => Effect.Effect>, AcpConnectionError>; readonly setConfigOption: (sessionId: string, configId: string, value: string) => Effect.Effect>, AcpConnectionError>; readonly getModes: (sessionId: string) => Effect.Effect | null, AcpConnectionError>; readonly setMode: (sessionId: string, modeId: string) => Effect.Effect | null, AcpConnectionError>; readonly listAgentSessions: (sessionId: string, cwd?: string) => Effect.Effect; readonly ensureBroadcaster: (sessionId: string) => EventBroadcaster; readonly removeBroadcaster: (sessionId: string) => void; readonly stats: () => { connections: ConnectionManagerStats; events: EventHubStats; writes: WriteQueueStats; }; }>; export declare class AcpClient extends AcpClient_base { static readonly layer: Layer.Layer; } export {};