UNPKG

vec-idp-web-sdk

Version:

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

33 lines 1.8 kB
import { IProvider, IProviderInitOptions, IProviderVerificationUI, IProviderWebhookResult, IProviderEvent, IEventEmitter } from '@/types'; import { Logger } from '@/utils/logger'; import type { APIClient } from '@/core/APIClient'; export declare abstract class BaseProvider implements IProvider { abstract readonly name: string; abstract readonly version: string; abstract supportedFeatures: string[]; protected eventEmitter: IEventEmitter; protected logger: Logger; protected _isLoaded: boolean; protected sdkInstance: unknown; protected activeUI: IProviderVerificationUI | null; protected apiClient: APIClient | null; constructor(); get isLoaded(): boolean; abstract loadSDK(): Promise<void>; abstract initializeVerification(options: IProviderInitOptions): Promise<IProviderVerificationUI>; abstract processWebhookData(data: unknown): IProviderWebhookResult; mapEvent(event: unknown): IProviderEvent | null; destroy(): void; protected abstract cleanupSDK(): void; protected loadScript(url: string, globalName?: string): Promise<void>; protected createUIContainer(parentContainer: HTMLElement, mode: 'modal' | 'embedded'): HTMLElement; protected createLoadingSpinner(): HTMLElement; protected removeLoadingSpinner(container: HTMLElement): void; protected removeUIContainer(container: HTMLElement): void; protected emitProviderEvent(type: string, data?: unknown): void; protected handleProviderError(error: unknown, context: string): never; on(event: string, handler: (event: IProviderEvent) => void): void; off(event: string, handler: (event: IProviderEvent) => void): void; protected validateInitOptions(options: IProviderInitOptions): void; } //# sourceMappingURL=BaseProvider.d.ts.map