import type { ListResponseResult } from '../../../web-server/utils/prepare-list-response.js';
import type { ServiceInstanceOptions } from '../../../providers/database/types.js';
import type { PaginationParams } from '../../../providers/database/pagination/schemas.js';
import type { Filter } from '../../../providers/database/pagination/types.js';
import type { FileHashStatus, UpsertFileHashParams } from '../types.js';
import type { FileHashReadModelSchema } from '../types.js';
import { FileHashesLocalRepository } from '../repositories/file-hashes-local-repository.js';
export declare class FileHashesService {
    #private;
    constructor(localRepository: FileHashesLocalRepository);
    static getInstance(options: ServiceInstanceOptions): Promise<FileHashesService>;
    getFileHashes(paginationParams?: PaginationParams): Promise<ListResponseResult<FileHashReadModelSchema>>;
    getFileHashByHash(hash: string): Promise<FileHashReadModelSchema | null>;
    upsertFileHash(upsertFileHashParams: UpsertFileHashParams): Promise<string | null>;
    updateFileHashes(status: FileHashStatus, filter: Filter): Promise<boolean>;
    /**
     * Use only internally, everything that is deleted via API should be deleted in the remote database.
     */
    deleteFileHashes(filter: Filter): Promise<boolean>;
}
//# sourceMappingURL=file-hashes-service.d.ts.map