import type { Usage } from '../../../../execution/Usage'; import type { NormalizedPromptRunnerSelectionCliOptions } from '../../common/promptRunnerCliOptions'; /** * Parameters for one tool-restricted inference. Repository reads and PRD writes are host operations. * @private internal type of `coder plan` */ export type PlanningHarnessOptions = NormalizedPromptRunnerSelectionCliOptions & { readonly workspacePath: string; readonly prompt: string; readonly signal: AbortSignal; /** Reports available usage from this inference once, including turns whose final answer is malformed. */ readonly onUsage?: (usage: Usage) => void; }; /** * Rejects harnesses without a planning execution policy before any Git sync or process launch. * @private internal utility of `coder plan` */ export declare function assertPlanningHarnessSupported(harness: string | undefined): void; /** * Constructs a fail-closed Codex invocation. User config, rules, project config discovery, native shell, * connectors, hooks and delegation cannot expand the planning tool set. Read-only sandboxing also denies patches. * Older Codex versions that do not support these switches fail instead of using the implementation runner. * @private internal utility of `coder plan` */ export declare function buildPlanningHarnessArguments(options: PlanningHarnessOptions): string[]; /** * Runs a bounded inference with no shell interpolation and consumes only its final JSON answer. * @private internal utility of `coder plan` */ export declare function runPlanningHarness(options: PlanningHarnessOptions): Promise;