import type { AgentRunInput, RalphFileSystem, RalphRunResult } from "../types.js"; type SimulationFs = RalphFileSystem; type TurnContext = { fs: SimulationFs; readFile: (filePath: string) => Promise; writeFile: (filePath: string, content: string) => Promise; }; type TurnOutput = { stdout: string; stderr?: string; exitCode?: number; }; export type TurnSpec = { assertPrompt?: (prompt: string, ctx: TurnContext) => void | Promise; fileChanges?: Record; output: TurnOutput; }; export type SimulationOptions = { agent?: string | string[]; docContent?: string; docPath?: string; maxIterations: number; archive?: boolean; turns: TurnSpec[]; files?: Record; signal?: AbortSignal; }; export type SimulationRun = AgentRunInput; export type SimulationResult = { result: RalphRunResult; prompts: string[]; runs: SimulationRun[]; fs: SimulationFs; readFile: (filePath: string) => Promise; }; export declare function successTurn(assertPrompt?: TurnSpec["assertPrompt"], fileChanges?: Record): TurnSpec; export declare function failTurn(stderr: string, assertPrompt?: TurnSpec["assertPrompt"], fileChanges?: Record): TurnSpec; export declare function createRalphSimulation(options: SimulationOptions): { run: () => Promise; }; export {};