export declare class EventListenerTracker { private listeners; track(target: any, event: string, handler: (...args: any[]) => any, type?: 'on' | 'once'): void; on(target: any, event: string, handler: (...args: any[]) => any): void; once(target: any, event: string, handler: (...args: any[]) => any): void; cleanup(): void; get count(): number; } export declare class EventCollector { private emitter; private events; private listeners; constructor(emitter: any); collect(eventName: string): this; stop(eventName?: string): void; getEvents(eventName?: string): Array<{ event: string; data: T; timestamp: number; }>; clear(): void; waitForEvent(eventName: string, timeout?: number): Promise; getEventCount(eventName?: string): number; assertEmitted(eventName: string, expectedCount?: number): void; assertNotEmitted(eventName: string): void; } export declare function waitForEvents(target: any, events: string[], timeout?: number): Promise; export declare function collectEvents(target: any, event: string, condition: (events: T[]) => boolean, timeout?: number): Promise; export declare function createEventSpy(target: any, event: string): { events: any[]; clear: () => void; };