import type { StructuredExecHost } from "./structured-exec-host.js"; import type { StructuredRunnerAdapter, StructuredRunnerContext, StructuredRunnerExecution, StructuredRunnerObserver } from "./structured-runner.js"; import type { ExecutionMode, SessionSnapshot } from "./types.js"; type WandPermissionMode = "default" | "acceptEdits" | "bypassPermissions"; export interface PermissionPolicy { permissionMode: WandPermissionMode; allowedTools: string[] | undefined; } export declare function derivePermissionPolicy(mode: ExecutionMode, autoApprove: boolean, cwd: string): PermissionPolicy; export declare function buildAppendSystemPromptParts(language: string | undefined, mode: ExecutionMode): string[]; export interface ClaudeCliArgsOptions { permissionPolicy: PermissionPolicy; systemPromptParts?: string[]; } export declare function buildClaudeCliArgs(session: SessionSnapshot, options: ClaudeCliArgsOptions): string[]; export declare function buildClaudeSdkThinking(effort: SessionSnapshot["thinkingEffort"]): { type: "enabled"; budgetTokens: number; } | { type: "disabled"; }; export interface ClaudeCliRunnerOptions { language?: () => string | undefined; } /** Owns the Claude print-mode process and its stream-json protocol. */ export declare class ClaudeCliRunner implements StructuredRunnerAdapter { private readonly options; private readonly execHost?; constructor(options?: ClaudeCliRunnerOptions, execHost?: StructuredExecHost | undefined); start(context: StructuredRunnerContext, observer: StructuredRunnerObserver): StructuredRunnerExecution; } export {};