export declare const AMBIENT_OPT_IN = "PI_WORKFLOW_EVAL_AMBIENT"; export declare const AMBIENT_CAPTURE_NOTE = "Ambient Tier D uses the explicit capture extension. Pi 0.80.6 orders CLI extensions before discovered extensions and the first tool registration wins, so ambient tools and skills remain available while workflow execution stays capture-only."; export declare const AMBIENT_INVOCATION_MODE = "ambient-capture-only"; export interface AmbientEvalCase { id: string; prompt: string; timeoutMs: number; maxCost: number; } export declare const AMBIENT_WORKFLOW_EVAL_CASES: readonly AmbientEvalCase[]; export interface AmbientFixtureRepository { root: string; fixtureRoot: string; worktreesRoot: string; fixtureFiles: readonly string[]; } export interface AmbientCaseWorktree { id: string; path: string; fixtureFiles: readonly string[]; gitStatusBefore: readonly string[]; } export interface AmbientCleanup { processExited: boolean; processGroupTerminated: boolean; worktreeRemoved: boolean; fixtureRepoRemoved: boolean; tempRootRemoved: boolean; captureIdentityVerified: boolean; realWorkflowAgentsLaunched: number; } export interface AmbientManifest { invocationMode: string; fixtureRoot: string; worktreePath: string; ambientAgentDir: string; fixtureFileList: readonly string[]; gitStatusBefore: readonly string[]; gitStatusAfter: readonly string[]; parentToolSequence: readonly string[]; skillReads: readonly string[]; workflowCalls: readonly unknown[]; workflowCallCount: number; tokenCost: { input: number; output: number; cacheRead: number; cacheWrite: number; totalTokens: number; cost: number; models: readonly { model: string; cost: number; }[]; }; cleanup: AmbientCleanup; } export interface AmbientCaseResult { id: string; status: "passed" | "failed" | "timed_out" | "budget_exceeded"; workflows: readonly unknown[]; accounting: AmbientManifest["tokenCost"]; accountingTrustworthy: boolean; diagnostics: readonly string[]; errors: readonly string[]; manifest: AmbientManifest; } export interface AmbientWorkflowEvalRunOptions { cases?: readonly AmbientEvalCase[]; caseIds?: readonly string[]; provider?: string; model?: string; thinking?: string; piCommand?: string; artifactsDir?: string; environment?: NodeJS.ProcessEnv; } export interface AmbientWorkflowEvalRunResult { artifactDir: string; cases: readonly AmbientCaseResult[]; spent: number; mode: string; } export declare function createAmbientFixtureRepository(parent?: string): AmbientFixtureRepository; export declare function createAmbientCaseWorktree(repository: AmbientFixtureRepository, id: string): AmbientCaseWorktree; export declare function removeAmbientCaseWorktree(repository: AmbientFixtureRepository, worktree: AmbientCaseWorktree): boolean; export declare function removeAmbientFixtureRepository(repository: AmbientFixtureRepository): boolean; export interface AmbientPiProcessInput { worktree: string; sessionDir: string; sessionId?: string; prompt: string; provider: string; model: string; thinking?: string; piCommand?: string; timeoutMs: number; maxCost: number; environment?: NodeJS.ProcessEnv; } export interface AmbientPiProcessResult { exitCode: number | null; timedOut: boolean; budgetExceeded: boolean; processGroupTerminated: boolean; stdout: string; stderr: string; } export declare function runAmbientPiProcess(input: AmbientPiProcessInput): Promise; export declare function assertAmbientOptIn(environment?: NodeJS.ProcessEnv): void; export declare function runAmbientWorkflowEvals(options?: AmbientWorkflowEvalRunOptions): Promise; export declare function formatAmbientSummary(result: AmbientWorkflowEvalRunResult): string;