import type { TransitionLogEntry, AppendTransitionEventInput, VerifyChainResult } from '../types/transition-log.js';
/**
 * Append a transition event to the project's transition log.
 * Writes are serialized per file to preserve hash-chain integrity.
 */
export declare function appendTransitionEvent(input: AppendTransitionEventInput): Promise<TransitionLogEntry>;
/**
 * Read all transition log entries for a given project and spec.
 * Returns an empty array if the file does not exist.
 */
export declare function readTransitionLog(projectId: string, specId?: string): Promise<TransitionLogEntry[]>;
/**
 * SPEC-734: Verify the hash-chain integrity of a project's transition log.
 *
 * For each entry, recomputes `sha` from `canonicalEntry(entry)` and checks
 * that `prevSha` matches the previous entry's `sha`. Legacy entries that
 * predate SPEC-734 (missing `sessionId`/`modelId`/`gateResults`) are
 * tolerated — their sha was computed without those fields and remains valid
 * because `canonicalEntry` serialises undefined fields as JSON `undefined`
 * (i.e. they are omitted from the string, same as when they were written).
 */
export declare function verifyTransitionLogChain(projectId: string): Promise<VerifyChainResult>;
//# sourceMappingURL=transition-log.d.ts.map