import { ININVerificationService } from './verification-services/nin-verification.interface';
import { IBVNVerificationService } from './verification-services/bvn-verification.interface';
import { ICACVerificationService } from './verification-services/cac-verification.interface';
import { IDriversLicenseVerificationService } from './verification-services/drivers-license-verification.interface';
import { IPassportVerificationService } from './verification-services/passport-verification.interface';
import { IPhoneVerificationService } from './verification-services/phone-verification.interface';
import { IBankAccountVerificationService } from './verification-services/bank-account-verification.interface';
import { IVehicleVerificationService } from './verification-services/vehicle-verification.interface';
import { ITaxVerificationService } from './verification-services/tax-verification.interface';
import { IVotersCardVerificationService } from './verification-services/voters-card-verification.interface';
import { ICreditBureauVerificationService } from './verification-services/credit-bureau-verification.interface';
import { IOtherVerificationService } from './verification-services/other-verification.interface';
/**
* Composite verification adapter interface
* Adapters can implement any combination of these specialized services
* Unsupported methods should throw NotImplementedException
*/
export interface ICompositeVerificationAdapter {
/**
* Get the adapter name/provider
*/
getName(): string;
/**
* Check if the adapter is ready and configured
*/
isReady(): boolean;
/**
* Get NIN verification service if supported
*/
getNINService?(): ININVerificationService | null;
/**
* Get BVN verification service if supported
*/
getBVNService?(): IBVNVerificationService | null;
/**
* Get CAC verification service if supported
*/
getCACService?(): ICACVerificationService | null;
/**
* Get Driver's License verification service if supported
*/
getDriversLicenseService?(): IDriversLicenseVerificationService | null;
/**
* Get Passport verification service if supported
*/
getPassportService?(): IPassportVerificationService | null;
/**
* Get Phone verification service if supported
*/
getPhoneService?(): IPhoneVerificationService | null;
/**
* Get Bank Account verification service if supported
*/
getBankAccountService?(): IBankAccountVerificationService | null;
/**
* Get Vehicle verification service if supported
*/
getVehicleService?(): IVehicleVerificationService | null;
/**
* Get Tax verification service if supported
*/
getTaxService?(): ITaxVerificationService | null;
/**
* Get Voters Card verification service if supported
*/
getVotersCardService?(): IVotersCardVerificationService | null;
/**
* Get Credit Bureau verification service if supported
*/
getCreditBureauService?(): ICreditBureauVerificationService | null;
/**
* Get Other verification services if supported
*/
getOtherService?(): IOtherVerificationService | null;
}
Source