export class NotificationManager {
    /**
     *
     * @type {Map<string, NotificationLog>}
     */
    channels: Map<string, NotificationLog>;
    /**
     *
     * @type {List<LogDisplay>}
     */
    displays: List<LogDisplay>;
    /**
     *
     * @type {string}
     * @private
     */
    private defaultArea;
    /**
     *
     * @type {EntityComponentDataset|null}
     */
    ecd: EntityComponentDataset | null;
    /**
     *
     * @param {string} channel
     */
    createChannel(channel: string): void;
    /**
     *
     * @param {string} channel
     * @returns {NotificationLog|undefined}
     */
    getChannel(channel: string): NotificationLog | undefined;
    /**
     *
     * @param {string} channel
     * @returns {LogDisplay[]}
     */
    getDisplays(channel: string): LogDisplay[];
    /**
     *
     * @param {string} channel
     * @param {function(log:NotificationLog):View} initializer
     * @param {function(timeDelta:number)} [updateFunction]
     */
    addDisplay(channel: string, initializer: any, updateFunction: any): void;
    /**
     *
     * @param {string} channel
     * @param {ViewEmitter} viewEmitter
     * @param {String} [grouping]
     */
    addEmitterDisplay(channel: string, viewEmitter: ViewEmitter, grouping?: string): void;
    /**
     *
     * @param {Notification} notification
     * @param {string} [areaId] uses default area when not specified
     */
    addNotification(notification: Notification, areaId?: string): void;
    /**
     *
     * @param {number} timeDelta
     */
    tick(timeDelta: number): void;
}
import NotificationLog from "../../notify/NotificationLog.js";
import List from "../../../core/collection/list/List.js";
declare class LogDisplay {
    /**
     *
     * @param {NotificationLog} log
     * @param {function(log:NotificationLog)} initializer
     * @param {function(timeDelta:number)} [updateFunction]
     */
    constructor({ log, initializer, updateFunction }: NotificationLog);
    needsUpdate: boolean;
    __update_function: any;
    log: any;
    initializer: any;
    /**
     * Allows modifying timing of the view emitter by slowing or speeding up the time
     * @type {number}
     */
    timeScale: number;
    /**
     *
     * @param {number} timeDelta
     */
    update(timeDelta: number): void;
    initialize(): void;
}
export {};
//# sourceMappingURL=NotificationManager.d.ts.map