import { Logger } from '@nestjs/common'; import { ReturnModelType } from '@typegoose/typegoose'; import { VERIFIER_TYPE } from '~backend/verifier/base/base-verifier.interface'; import { VerifierModel } from '~backend/verifier/verifier.model'; import { CustomPhoneVerifierMethod, CustomPhoneVerifierNewMethodDto, CustomPhoneVerifierSendDto, CustomPhoneVerifierVerifyDto } from '../custom/custom-phone-verifier.interface'; import { FirebasePhoneVerifierMethod, FirebasePhoneVerifierNewMethodDto, FirebasePhoneVerifierSendDto, FirebasePhoneVerifierVerifyDto } from '../firebase/firebase-verifier.interface'; import { METHOD_TYPE } from '../phone-verifier.interface'; import { VerifyOtpResponse } from './base-phone-verifier.interface'; export declare abstract class BasePhoneVerifierService { protected readonly verifierModel: ReturnModelType; constructor(verifierModel: ReturnModelType); protected type: VERIFIER_TYPE; protected abstract readonly logger: Logger; protected abstract method: METHOD_TYPE; send(dto: CustomPhoneVerifierSendDto | FirebasePhoneVerifierSendDto): Promise; verify(dto: CustomPhoneVerifierVerifyDto | FirebasePhoneVerifierVerifyDto): Promise; protected abstract newMethod(dto: CustomPhoneVerifierNewMethodDto | FirebasePhoneVerifierNewMethodDto): CustomPhoneVerifierMethod | FirebasePhoneVerifierMethod; protected abstract sendOtp(target: string, method: CustomPhoneVerifierMethod | FirebasePhoneVerifierMethod): Promise; protected abstract verifyOtp(target: string, otp: string): Promise; }