UNPKG

vec-idp-web-sdk

Version:

VECU Identity Verification Web SDK - A secure, easy-to-integrate identity verification solution

72 lines 2.88 kB
import { APIClient } from './APIClient'; import { EventEmitter } from './EventEmitter'; import { ProviderRegistry } from './ProviderRegistry'; import { ProviderLoader } from './ProviderLoader'; import { EventForwarder } from './EventForwarder'; import { Logger } from '@/utils/logger'; import { type DeploymentStage, ProviderKeyResolver, ApiUrlResolver } from '@/config/providerKeys'; import type { IVerificationResult, ICustomerInfo } from '@/types'; import { type IAddressData } from '@/components/AddressConfirmation'; interface IAddressConfirmationOptions { enabled?: boolean; addressData?: IAddressData; fetchAddress?: (sessionId: string) => Promise<IAddressData>; onConfirm?: (sessionId: string) => void; onDispute?: (sessionId: string) => void; } interface ILaunchOptions { onProgress?: (event: { step: string; percentage: number; message?: string; }) => void; onSuccess?: (result: IVerificationResult) => void; onError?: (error: Error) => void; provider?: string; deploymentStage?: DeploymentStage; mode?: 'modal' | 'embedded'; theme?: Record<string, unknown>; language?: string; config?: Record<string, unknown>; addressConfirmation?: IAddressConfirmationOptions; verificationId?: string; } interface IVerificationOptions extends Omit<ILaunchOptions, 'provider'> { customerInfo: ICustomerInfo; referenceId?: string; } export interface ISDKConfig { apiUrl: string; timeout?: number; maxRetries?: number; logLevel?: 'debug' | 'info' | 'warn' | 'error'; debug?: boolean; enableDirectAPI?: boolean; deploymentStage?: DeploymentStage; bearerToken?: string; apiEndpoints?: { startVerification?: string; }; } interface ISDKDependencies { apiClient?: APIClient; eventEmitter?: EventEmitter; providerRegistry?: ProviderRegistry; providerLoader?: ProviderLoader; eventForwarder?: EventForwarder; logger?: Logger; keyResolver?: ProviderKeyResolver; apiUrlResolver?: typeof ApiUrlResolver; } export declare function createVecuIDVSDK(config?: ISDKConfig, dependencies?: ISDKDependencies): VecuIDVSecureSDK; export type { ILaunchOptions, IAddressConfirmationOptions, IAddressData }; export type VecuIDVSecureSDK = { launch: (transactionToken: string, containerSelector: string | HTMLElement, options?: ILaunchOptions) => Promise<() => void>; startVerificationWithCustomer: (containerSelector: string | HTMLElement, options: IVerificationOptions) => Promise<() => void>; updateConfig: (newConfig: Partial<ISDKConfig>) => void; on: (event: string, handler: (event: unknown) => void) => void; off: (event: string, handler: (event: unknown) => void) => void; once: (event: string, handler: (event: unknown) => void) => void; destroy: () => void; }; //# sourceMappingURL=VecuIDV.d.ts.map