declare type SubscriptionParams = { params: T; event: string | number; }; declare type Subscription = ({ params, event }: SubscriptionParams) => void; declare class EventEmitter { private subscriptions; private emitEffectCache; constructor(); useSubscription: (event: string, listener?: Subscription | undefined) => void; emit: (event: string | number, ...args: T extends any[] ? any[] : any) => void; emitEffect: (event: string | number) => void; removeListener: (event: string) => void; clear: () => void; } declare const eventEmitterOverall: EventEmitter; export { EventEmitter, eventEmitterOverall };