import { EmitterSubscription } from 'react-native'; import { NfcConfig, NfcError } from './src/types/ekycNFCType'; import { SDKEkycResultWithEvent, SDKEkycResultStringWithEvent, StartEkycUIResult } from './src/types/ekycType'; import { C06Config } from './src/types/ekycC06Type'; import { OcrConfig } from './src/types/ekycOCRType'; import { LivenessConfig, SDKFaceDetectStatus, LivenessSuccessEvent } from './src/types/ekycLivenessType'; import { FaceServiceConfig, FaceCompareSuccessEvent } from './src/types/ekycFaceType'; import { SmsOtpConfig, SmsOtpError, SendOtpResponse, VerifyOtpResponse, ResendOtpResponse } from './src/types/ekycSmsOtpType'; import { ESignInitResult, ESignOpenSessionResult, ESignCertificate, ESignSignRequest, ESignError, AuthorizeInfo, ESignPdfResult, ESignApiResponse } from './src/types/ekycESignType'; import { ExitConfirmConfig } from './src/types/ekycExitConfirmType'; export declare const SDK_VERSION: string; export declare const SDK_NAME: string; declare class SDKeKYC { private eventEmitter; private listeners; private isInitialized; constructor(); private ensureEventEmitter; getVersion(): Promise; getSDKInfo(): Promise<{ name: string; version: string; buildNumber: string; }>; initSdkEkyc(isProd?: boolean): Promise; setTransactionId(transactionId: string): Promise; setEnv(env: string): Promise; getEnv(): Promise; isSDKInitialized(): boolean; private ensureNativeModule; private validateConfig; startOcr(config: OcrConfig): Promise; startNfcScan(config: NfcConfig): Promise; checkC06(config: C06Config): Promise; startLiveness(config: LivenessConfig, exitConfirmConfig?: ExitConfirmConfig): Promise; startFaceCompare(config: FaceServiceConfig): Promise; onResume(): void; onPause(): void; onNfcScanStart(callback: (data: SDKEkycResultWithEvent) => void): EmitterSubscription | null; onNfcScanSuccess(callback: (data: SDKEkycResultStringWithEvent) => void): EmitterSubscription | null; onNfcError(callback: (error: NfcError) => void): EmitterSubscription | null; onC06Success(callback: (data: SDKEkycResultWithEvent) => void): EmitterSubscription | null; onC06Error(callback: (error: NfcError) => void): EmitterSubscription | null; onOcrSuccess(callback: (data: SDKEkycResultStringWithEvent) => void): EmitterSubscription | null; onOcrError(callback: (error: any) => void): EmitterSubscription | null; onLivenessSuccess(callback: (data: LivenessSuccessEvent) => void): EmitterSubscription | null; onLivenessError(callback: (error: any) => void): EmitterSubscription | null; onFaceCompareSuccess(callback: (data: FaceCompareSuccessEvent) => void): EmitterSubscription | null; onFaceCompareError(callback: (error: any) => void): EmitterSubscription | null; onEkycUISuccess(callback: (data: any) => void): EmitterSubscription | null; onEkycUIError(callback: (error: any) => void): EmitterSubscription | null; removeAllListeners(): void; sendOtp(config: SmsOtpConfig): Promise; verifyOtp(config: SmsOtpConfig, otpCode: string): Promise; resendOtp(config: SmsOtpConfig): Promise; onSmsOtpSendSuccess(callback: (data: SendOtpResponse) => void): EmitterSubscription | null; onSmsOtpVerifySuccess(callback: (data: VerifyOtpResponse) => void): EmitterSubscription | null; onSmsOtpResendSuccess(callback: (data: ResendOtpResponse) => void): EmitterSubscription | null; onSmsOtpError(callback: (error: SmsOtpError) => void): EmitterSubscription | null; initializeESign(finosToken?: string | null, isProd?: boolean): Promise; getSdkToken(identity: string, name: string, deviceId: string): Promise; openSessionId(accessToken: string | null, username: string | null, rememberMe: boolean | null): Promise; registerDevice(recoverCode: string, pinCode: string, fcmToken?: string): Promise<{ code: string; message: string; }>; listCerts(pageNumber?: number, pageSize?: number): Promise<{ certs: ESignCertificate[]; }>; verifyCert(serial: string): Promise<{ code: string; message: string; }>; listSignRequest(pageNumber?: number, pageSize?: number): Promise<{ requests: ESignSignRequest[]; }>; confirmSign(signRequestId: string, pinCode: string, authId?: string, authData?: string, confirm?: boolean): Promise<{ code: string; message: string; }>; registerRemoteSigning(requestJson: string): Promise; signPdf(requestJson: string): Promise; sendConfirmationDocument(requestJson: string): Promise<{ response: string; }>; /** * Composite API: Register Remote Signing + Send Confirmation Document * Align với SdkeSignImpl.registerAndConfirm */ registerAndConfirm(requestJson: string, confirmationDocBase64: string): Promise; initAuthorize(serial: string, quantity: number, time: number, message: string): Promise; listAuthorize(pageNumber: number, pageSize: number, status: string): Promise; registerAuthorize(authId: string, authData: string, authorizeRequestId: string, userPin: string, confirm: boolean): Promise; signPdfMultiplePositions(requestJson: string): Promise; onESignInitAuthorizeSuccess(callback: (data: { code: string; message: string; }) => void): EmitterSubscription | null; onESignListAuthorizeSuccess(callback: (data: { requests: AuthorizeInfo[]; }) => void): EmitterSubscription | null; onESignRegisterAuthorizeSuccess(callback: (data: { code: string; message: string; }) => void): EmitterSubscription | null; onESignSignPdfMultiplePositionsSuccess(callback: (data: { response: string; }) => void): EmitterSubscription | null; onESignInitSuccess(callback: (data: ESignInitResult) => void): EmitterSubscription | null; onESignOpenSessionSuccess(callback: (data: ESignOpenSessionResult) => void): EmitterSubscription | null; onESignRegisterDeviceSuccess(callback: (data: { code: string; message: string; }) => void): EmitterSubscription | null; onESignListCertsSuccess(callback: (data: { certs: ESignCertificate[]; }) => void): EmitterSubscription | null; onESignVerifyCertSuccess(callback: (data: { code: string; message: string; }) => void): EmitterSubscription | null; onESignListSignRequestSuccess(callback: (data: { requests: ESignSignRequest[]; }) => void): EmitterSubscription | null; onESignConfirmSignSuccess(callback: (data: { code: string; message: string; }) => void): EmitterSubscription | null; onESignRegisterRemoteSigningSuccess(callback: (data: ESignApiResponse) => void): EmitterSubscription | null; onESignSignPdfSuccess(callback: (data: { response: string; }) => void): EmitterSubscription | null; onESignSendConfirmationDocumentSuccess(callback: (data: { response: string; }) => void): EmitterSubscription | null; onESignRegisterAndConfirmSuccess(callback: (data: ESignApiResponse) => void): EmitterSubscription | null; onESignError(callback: (error: ESignError) => void): EmitterSubscription | null; /** * Start eKYC UI flow. On success, result contains the same data as Android: * data.ekycStateModel.eKYCFileModel.imageFace → result.imageFace (base64), * result.imageFacePath (file path), result.imageOcrFront / imageOcrBack, result.transactionId. */ startEkycUI(appKey: string, flowSDK: string[], language: string, transactionId: string, appKeyConfig: { appKey: string; appKeyNfc: string; appKeyOcr: string; appKeyLiveness: string; appKeyC06: string; appKeyFaceService: string; }, optionConfig?: { baseUrl?: string; countMaxRetry?: number; language?: string; networkTimeoutMs?: number; switchFrontCamera?: boolean; isActiveLiveness?: boolean; autoCapture?: boolean; forceCaptureTimeout?: number; customActions?: string[]; activeActionCount?: number; appIDType?: string; }, styleConfig?: { textSize?: number; textFont?: string; textColor?: number; statusBarBackground?: number; backIcon?: number; titleStyle?: { textSize?: number; textFont?: string; textColor?: number; }; toolbarStyle?: { textSize?: number; textFont?: string; textColor?: number; }; instructionStyle?: { textSize?: number; textFont?: string; textColor?: number; }; errorStyle?: { textSize?: number; textFont?: string; textColor?: number; }; successStyle?: { textSize?: number; textFont?: string; textColor?: number; }; warningStyle?: { textSize?: number; textFont?: string; textColor?: number; }; captureButtonColor?: number; captureButtonDisabledColor?: number; }, exitConfirmConfig?: ExitConfirmConfig): Promise; } declare const sdkEKYC: SDKeKYC; export { SDKeKYC }; export { SDKFaceDetectStatus }; export { AuthorizationStatus } from './src/types/ekycESignType'; export { ExitConfirmGradientOrientation } from './src/types/ekycExitConfirmType'; export type { ExitConfirmConfig, ExitConfirmIconProps, ExitConfirmTitleProps, ExitConfirmContentProps, ExitConfirmButtonProps, ExitConfirmTextStyles, ExitConfirmViewStyle, } from './src/types/ekycExitConfirmType'; export default sdkEKYC;