/**
 * @author Joel Hernandez <lifenautjoe@gmail.com>
 */
import { NoelEventConfig } from './interfaces';
import { NoelEventListener } from './types';
import { NoelEventListenerManager } from './event-listener-manager';
import { NoelLogger } from './logger';
export declare class NoelEvent {
    private noel;
    private name;
    private replayEnabled;
    private replayBufferSize;
    private replayBuffer;
    private listeners;
    private logger;
    private noListenersWarning;
    constructor(config: NoelEventConfig);
    enableReplay(): void;
    disableReplay(): void;
    emit(...eventArgs: Array<any>): void;
    on(listener: NoelEventListener): NoelEventListenerManager;
    removeListener(listener: NoelEventListener): void;
    countListeners(): number;
    clearReplayBuffer(): void;
    removeAllListeners(): void;
    setReplayBufferSize(replayBufferSize: number): void;
    getReplayBufferAmount(replayBufferAmount: number): Array<any>;
    setLogger(logger: NoelLogger): void;
    enableNoListenersWarning(): void;
    disableNoListenersWarning(): void;
    getName(): string;
    getLogger(): NoelLogger;
    getReplayBufferSize(): number;
    getReplayIsEnabled(): boolean;
    private setReplayBuffer(replayBuffer);
    private getListeners();
    private pushEventArgsToReplayBuffer(eventArgs);
    private getReplayBuffer();
    private logWarn(warn);
}
