import EventEmitter from 'eventemitter3'; export type EventsDefinition = { [K in string | symbol]: (...args: any[]) => void; } | undefined; /** * An extension of `EventEmitter` (provided by `eventemitter3`) with an adjusted * type interface that supports the unique structure of Newton Wallet SDK modules. */ export declare class TypedEmitter extends EventEmitter { } type ChainingMethods = 'on' | 'once' | 'addListener' | 'off' | 'removeListener' | 'removeAllListeners'; type NonChainingMethods = 'emit' | 'eventNames' | 'listeners' | 'listenerCount'; type ReplaceReturnType any, TNewReturn> = (...a: Parameters) => TNewReturn; /** * Creates a `TypedEmitter` instance and returns helper functions for easily * mixing `TypedEmitter` methods into other objects. */ export declare function createTypedEmitter(): { emitter: TypedEmitter; createChainingEmitterMethod: (method: T1, source: T2) => ReplaceReturnType; createBoundEmitterMethod: (method: T) => TypedEmitter[T]; }; export {};