import type { CliPaths, SessionPaths } from '../io/paths';
import type { Renderer } from '../repl/renderer';
import type { CliSessionConfig, CliSessionIndexEntry } from '../types';
import type { RunTurnOutput } from './cliAnalyzeService';
export interface CommitTurnInput {
    paths: CliPaths;
    sp: SessionPaths;
    renderer: Renderer;
    /** User-facing session id. For resume this equals the input session id;
     *  for a fresh analyze it equals `result.sessionId`. */
    sessionId: string;
    /** 1-indexed. */
    turn: number;
    /** The user's question for this turn. */
    query: string;
    /** Output of CliAnalyzeService.runTurn(). */
    result: RunTurnOutput;
    /** Caller-constructed config. This helper persists it verbatim. */
    config: CliSessionConfig;
    /** Pre-formatted markdown for `turns/NNN.md`. */
    turnMarkdown: string;
    /** Optional deterministic appendix, currently used by dual-trace comparison. */
    reportAppendix?: {
        markdown: string;
        html: string;
    };
    /** Caller-constructed index row. */
    indexEntry: CliSessionIndexEntry;
}
export declare function commitTurnOutputs(input: CommitTurnInput): void;
//# sourceMappingURL=turnPersistence.d.ts.map