import { Fn } from '../../types'; declare type OnAdapterCb = (eventName: string, evt: Evt, data: any[]) => void; declare type OnAdapter = (cb: OnAdapterCb) => any; declare type EmitAdapterInfo = { emitTarget?: any; evt?: Evt; eventName: string; data: any[]; }; declare type EmitAdapter = (info: EmitAdapterInfo) => void; interface EventToPOpts { onAdapter: OnAdapter; emitAdapter: EmitAdapter; } export interface extendedPromise extends Promise { every: (cb: (target: U, data: T) => void) => extendedPromise; } /** * * @category Utils * @param opts * @returns */ export declare function eventToP(opts: EventToPOpts): { on: (eventName: string, listener: (evt: Evt, ...args: any[]) => any) => () => void; emit: { (eventName: string, ...args: any[]): extendedPromise; (target: U | U[], eventName: string, ...args: any[]): extendedPromise; }; once: (eventName: string, listener: (evt: Evt, ...args: any[]) => any) => () => void; off: (eventName: string, listener: Fn) => void; removeAllListeners: (eventName?: string) => void; close: any; }; export {};