import { VerificationEventType, EventData, BaseEventData } from '../types/event-types'; export interface EventListener { (...args: any[]): void | Promise; } export interface EventSubscription { unsubscribe(): void; } export declare class VerificationEventEmitter { private readonly emitter; private readonly eventHistory; private readonly maxHistorySize; private isRecording; constructor(maxHistorySize?: number); emit(eventType: VerificationEventType, data: Omit & Partial): void; on(eventType: VerificationEventType | '*', listener: EventListener): EventSubscription; once(eventType: VerificationEventType, listener: EventListener): EventSubscription; off(eventType: VerificationEventType | '*', listener: EventListener): void; removeAllListeners(eventType?: VerificationEventType): void; listenerCount(eventType: VerificationEventType): number; startRecording(): void; stopRecording(): void; getHistory(eventType?: VerificationEventType): EventData[]; clearHistory(eventType?: VerificationEventType): void; getStatistics(): { totalEvents: number; eventsByType: Record; oldestEvent?: Date; newestEvent?: Date; }; private enrichEventData; private addToHistory; private generateEventId; } export declare const globalEventEmitter: VerificationEventEmitter; //# sourceMappingURL=event-emitter.d.ts.map