/** based on emittery npm package, which is MIT */ export type EmitterCallback = (data?: any) => any; export type EmitterAnyCallback = (eventName: string, data?: any) => any; declare class Emittery { static mixin(emitteryPropertyName: string, methodNames: string[]): (target: any) => any; constructor(); destroy(): void; on(eventName: string, listener: EmitterCallback): any; off(eventName: string, listener: EmitterCallback): void; once(eventName: string): Promise; onIncludeFiredOnce(eventName: string): Promise; onIncludeFired(eventName: string, listener: EmitterCallback): any; emit(eventName: string, eventData?: any): Promise; emitSync(eventName: string, eventData?: any): any[]; emitSerial(eventName: string, eventData: any): Promise; onAny(listener: EmitterAnyCallback): any; offAny(listener: EmitterCallback): void; clearListeners(eventName?: string): void; listenerCount(eventName: string): any; bindMethods(target: any, methodNames: string[]): void; } export default Emittery;