vec-idp-web-sdk
Version:
VECU Identity Verification Web SDK - A secure, easy-to-integrate identity verification solution
33 lines • 1.8 kB
TypeScript
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