import type { NewSessionRequest, SessionNotification, PromptResponse } from './types.js'; import type { ProviderUsage } from '../bridge.js'; import type { AcpSessionOptions, AcpOptionAction } from './types.js'; import type { TaskLogEntry } from '../../types/task-log.types.js'; export type { AcpSessionOptions, AcpOptionAction }; export interface AcpToolCallParsed { toolName?: string; toolInput?: string; } export interface AcpToolCallEvent { title: string; kind?: string; rawInput?: unknown; rawOutput?: unknown; locations?: Array<{ path: string; range?: unknown; }>; _meta?: Record; } export interface AcpSpawnConfig { command: string; args: string[]; shellOnWindows?: boolean; } export interface AcpProviderMeta { displayName: string; defaultMode?: string; } export interface AcpProviderAdapter { readonly spawn: AcpSpawnConfig; readonly meta?: AcpProviderMeta; readonly npmPackage?: string; readonly clientInfo?: { name: string; version: string; }; buildSessionParams(options: AcpSessionOptions): NewSessionRequest; extractTextFromUpdate?(notification: SessionNotification): string | null; extractUsage?(result: PromptResponse): ProviderUsage | null; buildEffortAction?(effort: string, model?: string): AcpOptionAction | null; buildSpawnEnv?(model: string): Record | undefined; resolveMode?(mode: string): string | null; readonly yoloModeId?: string; parseToolCall?(event: AcpToolCallEvent): AcpToolCallParsed | null; parseEvent?(message: string, timestamp?: string): TaskLogEntry[]; } export declare function defaultExtractText(notification: SessionNotification): string | null; export declare function defaultParseEvent(message: string, timestamp?: string): TaskLogEntry[];