import type { IdentityDatabase } from '../identity/drizzle/db'; import type { ReaderMaterializationBody, ReaderMaterializationBodyInput, ReaderReconciliationInput, ReaderReconciliationRow } from './ReaderMaterialization'; export declare class ReaderMaterializationRepository { private readonly db; private readonly ready; constructor(db: IdentityDatabase); putBody(input: ReaderMaterializationBodyInput, now?: Date): Promise; getBody(fingerprint: string): Promise; enqueue(input: ReaderReconciliationInput, now?: Date): Promise; listRunnable(now?: Date): Promise; claimNext(workerId: string, now?: Date, leaseDurationMs?: number): Promise; fail(sourceKey: string, workerId: string, failureCategory: string, nextAttemptAt: Date, now?: Date): Promise; complete(sourceKey: string, workerId: string, now?: Date): Promise; releaseExpiredLeases(now?: Date): Promise; moveSource(sourceKey: string, nextSourceUri: string, now?: Date): Promise; private initialize; private getReconciliation; } export declare function computeReaderMaterializationFingerprint(input: { sourceKey: string; sourceHash: string; mediaType: string; readerEngine: string; readerVersion: string; modelUri?: string; readerOptionsHash: string; }): string;