/** Runtime replay reporting. State retirement is not fallible telemetry. */
import type { LLMCallHooks } from '../../provider-contract/types.js';
import { type EmitableScope } from './typedEmit.js';
/** Only live scopes offer persistence; emit-only standalone callers do not. */
export interface ReplayReportScope extends EmitableScope {
    $getValue?(key: string): unknown;
    $setValue?(key: string, value: unknown): void;
}
/** Create once per call. Retry/fallback reports append, never overwrite. */
export declare function replayPreparedHook(scope: ReplayReportScope, receiptMinted: boolean, onPersisted?: LLMCallHooks['onReplayPrepared']): NonNullable<LLMCallHooks['onReplayPrepared']>;
