import { type AdapterCredential, type AdapterMcpContext, CliAdapter, type CliProgressEvent, type CliUsageSnapshot, type HarnessSpec, type OneshotSpec, type ParseResult, type SessionSpec, type SpawnDescriptor } from './base.js'; import { type PermissionCapabilities } from '../permission-policy.js'; export declare const OPENCODE_SESSION_ID_RE: RegExp; export declare class OpencodeCliAdapter extends CliAdapter { #private; static cliType: string; constructor(); resolveBin(configured?: string | null): string; cliUpdate(): { args: string[]; label: string; } | null; updatePackage(): string | null; listModels(): Promise; harnessKeys(): ReadonlyArray; permissionCapabilities(): PermissionCapabilities; buildOneshotSpawn({ rolePrompt, taskText, model, cwd, harness, permission, }: OneshotSpec): SpawnDescriptor; buildSessionSpawn({ rolePrompt, model, harness, permission, sessionMode, sessionId, }: SessionSpec): SpawnDescriptor; hasPersistedSession(_cliHomeDir: string | null | undefined, sessionId: string): Promise; parseStdoutLine(line: string): ParseResult; collectOneshotResult(lines: string[]): string | null; extractAssistantText(raw: any): string | null; parseProgressEvent(raw: any): CliProgressEvent | null; extractUsage(raw: any): CliUsageSnapshot | null; authEnvKeys(): string[]; configDirEnv(): string; prepareCliHome(cliHomeDir: string, credential?: AdapterCredential | null, mcp?: AdapterMcpContext | null): Promise<{ extraEnv: Record; }>; }