import { OkxEvents, OkxEventPayloadMap } from '.'; export declare type OkxEventHandler = (payload: OkxEventPayloadMap[T]) => void; export declare type OkxEventListener = T extends OkxEvents ? { event: T; handler: OkxEventHandler; } : never; export declare type OkxEventListeners = OkxEventListener[]; export interface OkxEventEmitter { on(listener: OkxEventListener): void; off(listener: OkxEventListener): void; emit(event: T, payload: OkxEventPayloadMap[T]): void; } export declare class SimpleOkxEventEmitter implements OkxEventEmitter { private subscriptions; on(listener: OkxEventListener): void; off(listener: OkxEventListener): void; emit(event: T, payload: OkxEventPayloadMap[T]): void; }