export interface WorkerConversationFileRevision { readonly dev: bigint; readonly ino: bigint; readonly size: bigint; readonly mtimeNs: bigint; readonly ctimeNs: bigint; } export interface WorkerSessionFileHead { readonly revision: WorkerConversationFileRevision; readonly headerDigest: string; readonly entryDigest: string; readonly entryCount: number; readonly prefixDigest?: string; } export declare class WorkerConversationOwnershipError extends Error { constructor(message: string); } export declare function readWorkerConversationFileRevision(file: string): WorkerConversationFileRevision; export declare function sameWorkerConversationFileRevision(left: WorkerConversationFileRevision, right: WorkerConversationFileRevision): boolean; /** * Verify the exact bytes appended by SessionManager and advance the trusted raw-file head once. * * The caller must hold the canonical conversation lock. That advisory lock excludes every * supported writer, while revision/digest scans detect changes made between owned critical * sections and during cold opens. This bounded append check intentionally reads only the new * suffix: it cannot detect a noncooperating process rewriting an equal-length prefix inside the * locked append window without reintroducing an O(n) prefix scan or a second durable authority. */ export declare function advanceWorkerSessionHeadAfterOwnedAppend(sessionFile: string, previousHead: WorkerSessionFileHead, serializedEntry: string): WorkerSessionFileHead; export declare function scanWorkerSessionFile(sessionFile: string, expectedSessionId: string, expectedCwd: string, prefixEntryCount?: number): WorkerSessionFileHead; //# sourceMappingURL=worker-conversation-revision.d.ts.map