import { UmbNotificationHandler } from './notification-handler.js';
import type { UmbNotificationColor, UmbNotificationOptions } from './types.js';
import { UmbContextToken } from '../../../libs/context-api/index.js';
import type { UmbControllerHost } from '../../../libs/controller-api/index.js';
import { UmbContextBase } from '../../../libs/class-api/index.js';
export declare class UmbNotificationContext extends UmbContextBase {
    #private;
    private _notifications;
    readonly notifications: import("rxjs").Observable<UmbNotificationHandler[]>;
    constructor(host: UmbControllerHost);
    /**
     * @private
     * @param {string} key
     * @memberof UmbNotificationContext
     */
    private _close;
    /**
     * @private
     * @param notificationHandler
     * @param {string} key
     * @memberof UmbNotificationContext
     */
    private _handleClosed;
    /**
     * Opens a notification that automatically goes away after 6 sek.
     * @param {UmbNotificationColor} color
     * @param {UmbNotificationOptions<UmbNotificationData>} options
     * @returns {*}
     * @memberof UmbNotificationContext
     */
    peek<T extends UmbNotificationOptions = UmbNotificationOptions>(color: UmbNotificationColor, options: T): UmbNotificationHandler;
    /**
     * Opens a notification that stays on the screen until dismissed by the user or custom code
     * @param {UmbNotificationColor} color
     * @param {UmbNotificationOptions<UmbNotificationData>} options
     * @returns {*}
     * @memberof UmbNotificationContext
     */
    stay<T extends UmbNotificationOptions = UmbNotificationOptions>(color: UmbNotificationColor, options: T): UmbNotificationHandler;
}
export declare const UMB_NOTIFICATION_CONTEXT: UmbContextToken<UmbNotificationContext, UmbNotificationContext>;
