export declare enum VerificationEventType { VERIFICATION_STARTED = "verification.started", VERIFICATION_COMPLETED = "verification.completed", VERIFICATION_FAILED = "verification.failed", VERIFICATION_RETRY = "verification.retry", NIN_VERIFICATION = "nin.verification", BVN_VERIFICATION = "bvn.verification", VOTERS_CARD_VERIFICATION = "voters_card.verification", PASSPORT_VERIFICATION = "passport.verification", TIN_VERIFICATION = "tin.verification", VEHICLE_VERIFICATION = "vehicle.verification", CAC_VERIFICATION = "cac.verification", PHONE_VERIFICATION = "phone.verification", BANK_ACCOUNT_VERIFICATION = "bank_account.verification", CREDIT_BUREAU_VERIFICATION = "credit_bureau.verification", ADAPTER_INITIALIZED = "adapter.initialized", ADAPTER_ERROR = "adapter.error", ADAPTER_SWITCHED = "adapter.switched", ADAPTER_FALLBACK = "adapter.fallback", REQUEST_SENT = "request.sent", RESPONSE_RECEIVED = "response.received", RATE_LIMIT_HIT = "rate_limit.hit", TIMEOUT_OCCURRED = "timeout.occurred", HEALTH_CHECK = "health.check", METRICS_COLLECTED = "metrics.collected" } export declare enum VerificationStatus { PENDING = "pending", PROCESSING = "processing", SUCCESS = "success", FAILED = "failed", TIMEOUT = "timeout", RATE_LIMITED = "rate_limited", INVALID_DATA = "invalid_data" } export declare enum ServiceType { NIN = "nin", BVN = "bvn", VOTERS_CARD = "voters_card", PASSPORT = "passport", TIN = "tin", VEHICLE = "vehicle", CAC = "cac", PHONE = "phone", BANK_ACCOUNT = "bank_account", CREDIT_BUREAU = "credit_bureau" } export interface BaseEventData { eventId: string; timestamp: Date; environment?: string; userId?: string; sessionId?: string; correlationId?: string; metadata?: Record; } export interface VerificationEventData extends BaseEventData { serviceType: ServiceType; adapter: string; status: VerificationStatus; duration?: number; requestData?: any; responseData?: any; error?: { code: string; message: string; stack?: string; }; } export interface AdapterEventData extends BaseEventData { adapter: string; action: string; previousAdapter?: string; reason?: string; config?: Record; } export interface PerformanceEventData extends BaseEventData { adapter: string; serviceType?: ServiceType; duration: number; requestSize?: number; responseSize?: number; statusCode?: number; endpoint?: string; } export interface MetricsEventData extends BaseEventData { adapter: string; metrics: { totalRequests: number; successfulRequests: number; failedRequests: number; averageResponseTime: number; errorRate: number; uptime: number; }; period: { start: Date; end: Date; }; } export interface HealthCheckEventData extends BaseEventData { adapter: string; isHealthy: boolean; checks: Array<{ name: string; status: 'pass' | 'fail'; message?: string; duration?: number; }>; } export type EventData = VerificationEventData | AdapterEventData | PerformanceEventData | MetricsEventData | HealthCheckEventData; //# sourceMappingURL=event-types.d.ts.map