/**
 * Provides methods to display any sort of messages, notifications, errors,
 * etc. Requires Bootstrap library (both CSS and JS) to display the alerts
 * properly.
 *
 * @abstract
 * @hidden
 */
export class MessageNotification extends ngeoMessageMessage {
    /**
     * Provides methods to display any sort of messages, notifications, errors,
     * etc. Requires Bootstrap library (both CSS and JS) to display the alerts
     * properly.
     *
     * @param {angular.ITimeoutService} $timeout Angular timeout service.
     */
    constructor($timeout: angular.ITimeoutService);
    /**
     * @type {angular.ITimeoutService}
     * @private
     */
    private timeout_;
    /**
     * @type {JQuery}
     * @private
     */
    private container_;
    /**
     * @type {Object<string, CacheItem>}
     * @private
     */
    private cache_;
    /**
     * Display the given message string or object or list of message strings or
     * objects.
     *
     * @param {string | string[] | import('ngeo/message/Message').Message | import('ngeo/message/Message').Message[]} object
     *     A message or list of messages as text or configuration objects.
     * @returns {void}
     */
    notify(object: string | string[] | import("ngeo/message/Message").Message | import("ngeo/message/Message").Message[]): void;
    /**
     * Clears all messages that are currently being shown.
     */
    clear(): void;
    /**
     * Clear a message using its cache item.
     *
     * @param {CacheItem} item Cache item.
     * @private
     */
    private clearMessageByCacheItem_;
}
export namespace MessageNotification {
    let $inject: string[];
}
export default myModule;
export type CacheItem = {
    el: JQuery;
    promise: angular.IPromise<void>;
};
import ngeoMessageMessage from 'ngeo/message/Message';
import angular from 'angular';
/**
 * @typedef {Object} CacheItem
 * @property {JQuery} el
 * @property {angular.IPromise<void>} promise
 */
/**
 * @type {angular.IModule}
 * @hidden
 */
declare const myModule: angular.IModule;
