export type Listener = (...args: T) => void; /** * Simple listeneable data Emitter. */ export declare class Emitter { private pListeners; /** * Returns "true" if any listener is connected; "false" otherwise. * @return {boolean} */ get hasListeners(): boolean; get listeners(): ReadonlyArray>; /** * Adds `listener` if it is not already connected. * @param {function} listener * @return {function} Unsubscribe function. */ addListener(listener: Listener): () => void; /** * Calls every connected listener with the given arguments. * @param args */ emit(...args: T): void; /** * Removes all connected listeners. */ removeAllListeners(): void; /** * Removes specified `listener`, if connected. * @param listener */ removeListener(listener: Listener): void; }