import { NoelConfig } from './interfaces';
import { NoelEventListener } from './types';
import { NoelEvent } from './event';
import { NoelLogger } from './logger';
import { NoelEventListenerManager } from './event-listener-manager';
export default class Noel {
    private noEventListenersWarning;
    private eventsMap;
    private logger;
    private replayEnabled;
    private replayBufferSize;
    constructor(config?: NoelConfig);
    emit(eventName: string, ...eventArgs: Array<any>): void;
    on(eventName: string, listener: NoelEventListener): NoelEventListenerManager;
    removeListener(eventName: string, listener: NoelEventListener): void;
    removeEventListener(event: NoelEvent, listener: NoelEventListener): void;
    setLogger(logger: NoelLogger): void;
    enableNoEventListenersWarning(): void;
    disableNoEventListenersWarning(): void;
    replayIsEnabled(): boolean;
    enableReplay(): void;
    disableReplay(): void;
    setReplayBufferSize(replayBufferSize: number): void;
    clearEventsReplayBuffers(): void;
    clearReplayBufferForEvent(eventName: string): void;
    getEvent(eventName: string): NoelEvent;
    removeEvent(eventName: string): void;
    removeAllListeners(eventName: string): void;
    private makeEvent(eventName);
    private setEventsReplayBuffersSize(replayBuffersSize);
    private disableEventsReplay();
    private enableEventsReplay();
    private getEvents();
    private getEventsMap();
}
