import type { DatabaseClient } from '../../../../../providers/database/client.js';
import type { EntityRevisionSummary } from '../../../schemas/read-model-schemas.js';
export declare class RevisionRepository {
    #private;
    constructor(db: DatabaseClient);
    getCurrentRevisionInfo({ key, version, revision }: {
        key: string;
        version: string | null;
        revision: string | null;
    }): Promise<{
        shouldSetNewCurrentRevision: boolean;
        hasCurrentRevision: boolean;
    }>;
    markAllRevisionsAsNotCurrent(key: string): Promise<void>;
    /**
     * Ensures that the one of the revisions has current and default version.
     */
    ensureDefaultAndCurrentRevisionForKey(key: string): Promise<void>;
    /**
     * Determines if entity creation should be skipped.
     * We only skip if the hash matches the MOST RECENT revision for the same key and version.
     * This allows creating new revisions when reverting to previous content states.
     */
    shouldSkipRevisionCreation(key: string, version: string | null, hash: string, isRootEntity?: boolean, isDeleted?: boolean): Promise<boolean>;
    listEntityRevisions(entityKey: string, version?: string | null): Promise<EntityRevisionSummary[]>;
}
//# sourceMappingURL=revision-repository.d.ts.map