import type { FileHashesService } from '../../../persistence/file-hashes/services/file-hashes-service.js';
import type { FileType } from '../../../persistence/file-hashes/types.js';
import { FileHashStatus } from '../../../persistence/file-hashes/types.js';
export type HashManagerUpdateService = {
    clearOutdatedRecords(outdatedHash: string): Promise<void>;
};
export type HashManagerOptions = {
    hashManagerUpdateService: HashManagerUpdateService;
    fileType: FileType;
    fileHashesService?: FileHashesService;
    localHashesCache?: Map<string, string>;
};
export declare class HashManager {
    #private;
    constructor(hashManagerOptions: HashManagerOptions);
    getHash(hash: string): Promise<string | import("../../../persistence/file-hashes/types.js").FileHashReadModelSchema | null | undefined>;
    setHash(hash: string, status: FileHashStatus): Promise<string | null | undefined>;
    markAllHashesAsOutdated(): Promise<void>;
    clearOutdatedHashesAndRelatedRecords(): Promise<void>;
}
//# sourceMappingURL=hash-manager.d.ts.map