import { GenericError } from '@ayanaware/errors';
export declare class LiteEmitterError extends GenericError {
}
export declare type LiteEmitterHandler = (...args: Array<any>) => void;
/**
 * LiteEmitter is a very simplified implementation of a eventemitter.
 */
export declare class LiteEmitter {
    private readonly handlers;
    /**
     * Add a handler function for a given event
     *
     * @param name name of event
     * @param fn handler function
     */
    addListener(name: string, fn: LiteEmitterHandler): void;
    /**
     * Remove one or all handler functions for a given event
     *
     * @param name name of event
     * @param fn optional handler to detach
     */
    removeListener(name: string, fn?: LiteEmitterHandler): void;
    /**
     * Emit a new event to handlers
     *
     * @param name name of event
     * @param args event arguments
     */
    emit(name: string, ...args: Array<any>): void;
}
