import type { SimSolver } from './SimSolver'; import { ContractedSimulation, type ContractConfig, type SimulationProvenance } from './SimulationContract'; import { type BuildSimulationEvidencePackInput, type SimulationEvidencePack } from './SimulationEvidencePack'; import { type CAELTrace } from './CAELTrace'; export declare class CAELRecorder { private readonly solver; private readonly contracted; private readonly contractConfig; private readonly runId; private readonly trace; private lastHash; private finalizedProvenance; /** Hash mode sourced from the wrapped contract (Option C Prereq 1: * per-recorder scope; Prereq 2: every append() threads this to * hashCAELEntry). Immutable for the life of the recorder. */ private readonly hashMode; constructor(solver: SimSolver, config: Record, contractConfig?: ContractConfig); getContractedSimulation(): ContractedSimulation; getSolver(): SimSolver; /** * Returns the composite Contract-ID for this run in O(1). * * The Contract-ID is the composite of `geometryHash`, optional * `adapterFingerprint`, and optional `subgridHash` (from subgridParams), * exactly as defined in paper-0c §"Subgrid attestation". When neither * `adapterFingerprint` nor `subgridParams` was set on the contract this * equals `geometryHash` byte-identically (backward-compat). * * This is identical to `trace[0].payload.contractId` but avoids * scanning the trace array — intended for replay and dispute-dispatch * paths that need O(1) run-identity comparison. */ getContractId(): string; step(wallDelta: number): number; solve(): Promise; logInteraction(type: string, data: Record): void; finalize(): SimulationProvenance; createEvidencePack(options: Omit): SimulationEvidencePack; finalizeEvidencePack(options: Omit): SimulationEvidencePack; toEvidencePackJSON(options: Omit): string; getTrace(): CAELTrace; toJSONL(): string; dispose(): void; private append; } //# sourceMappingURL=CAELRecorder.d.ts.map