/** Translates `AgentLoopEvent` stream into session-entry appends with `durationMs` annotations. */
import type { AgentLoopEvent } from '../core/index.js';
import type { AgentToolDefinitionSnapshot } from './session-entry-builder.js';
import type { ShortcutXLSessionWriter } from './session-store.js';
export interface RuntimePersistenceCallbacks {
    /** Fired with the freshly-minted entry id whenever a message is persisted. */
    onMessagePersisted?: (entryId: string) => void;
}
export declare class RuntimePersistence {
    private turnStartTime;
    private toolStartTimes;
    private callbacks;
    setCallbacks(callbacks: RuntimePersistenceCallbacks): void;
    startInvocation(sessionStore: ShortcutXLSessionWriter, systemPrompt: string, tools: readonly AgentToolDefinitionSnapshot[]): void;
    handle(event: AgentLoopEvent, sessionStore: ShortcutXLSessionWriter, turnIndex: number): void;
    private persistMessage;
}
//# sourceMappingURL=persistence.d.ts.map