import { type Message } from '../../../types/message/index.js';
import { type Mutation } from '../../../types/run/replay.js';
/**
 * Apply an ordered list of {@link Mutation} to a checkpoint's message
 * history at the fork point, producing a new message array that the
 * resumed iteration loop consumes. Pure function; does not touch the run
 * store, does not emit events.
 *
 * Throws {@link MutationNotApplicableError} when an `injectToolResponse`
 * mutation targets a tool call id that is not pending at the fork point —
 * the error payload carries the list of ids that *are* pending so the
 * caller can recover without guessing.
 *
 * See ses_005-deterministic-replay design §3.3.
 */
export declare function applyMutations(messages: readonly Message[], mutations: readonly Mutation[]): Message[];
//# sourceMappingURL=mutate.d.ts.map