/**
 * Simple listeneable data Emitter.
 * The implementation is adopted from `@dr.pogodin/react-utils`.
 * Docs: https://dr.pogodin.studio/docs/react-utils/docs/api/classes/Emitter
 */
export default class Emitter {
    listeners: Function[];
    /**
     * Creates a new Emitter.
     */
    constructor();
    /**
     * Returns "true" if any listener is connected; "false" otherwise.
     * @return {boolean}
     */
    get hasListeners(): boolean;
    /**
     * Adds `listener` if it is not already connected.
     * @param {function} listener
     * @return {function} Unsubscribe function.
     */
    addListener(listener: Function): () => void;
    /**
     * Calls every connected listener with the given arguments.
     * @param  {...any} args
     */
    emit(...args: any[]): void;
    /**
     * Removes specified `listener`, if connected.
     * @param {function} listener
     */
    removeListener(listener: Function): void;
}
//# sourceMappingURL=Emitter.d.ts.map