import { IdentityVerificationStorageRepository } from './identityVerificationStorageRepository';
import { VeriffStatusEnum } from '../types/VeriffStatusEnum';
import { VerificationTypeEnum } from '../types/VerificationTypeEnum';
import { DataSource } from 'typeorm';
import { PersonCredentialType } from '../util/veriff';
export declare class IdentityVerificationStorageManager {
    protected repository: IdentityVerificationStorageRepository;
    constructor(repository: IdentityVerificationStorageRepository | DataSource);
    create(sessionId: string, type: VerificationTypeEnum, status: VeriffStatusEnum, vc: PersonCredentialType): Promise<PersonCredentialType>;
    findLatestApproved(type: VerificationTypeEnum): Promise<PersonCredentialType | null>;
    findLatestWithTypeAndStatus(type: VerificationTypeEnum, status: VeriffStatusEnum): Promise<PersonCredentialType | null>;
    updateRecord(sessionId: string, type: VerificationTypeEnum, status: VeriffStatusEnum, vc: PersonCredentialType): Promise<PersonCredentialType>;
    deleteAll(): Promise<void>;
    emplaceByVeriffIdAndType(sessionId: string, type: VerificationTypeEnum, status: VeriffStatusEnum, vc: PersonCredentialType): Promise<PersonCredentialType>;
    countReuse(type?: VerificationTypeEnum): Promise<number>;
    updateReuseableCount(type: VerificationTypeEnum): Promise<void>;
}
//# sourceMappingURL=identityVerificationStorageManager.d.ts.map