import { BusMessage, MessageBus } from '@tangential/core'; import { Observable } from 'rxjs'; import { IconIF } from '../icon/icon'; export declare type NotificationType = 'error' | 'info' | 'warning'; export declare const NotificationTypes: { error: NotificationType; info: NotificationType; warning: NotificationType; }; export interface NotificationIF { $key?: string; duration?: number; icon?: IconIF; level?: NotificationType; message?: string; } export declare class NotificationMessage extends BusMessage implements NotificationIF { static SourceKey: string; $key?: string; duration?: number; icon?: IconIF; message?: string; constructor(config: NotificationIF); /** * Returns an observable that will complete after a single response. */ response(bus: MessageBus): Observable; /** * Returns an observable that will fire on every response and will never complete. */ responses(bus: MessageBus): Observable; static info(config: NotificationIF): NotificationMessage; static warning(config: NotificationIF): NotificationMessage; static error(config: NotificationIF): NotificationMessage; static filter(bus: MessageBus): Observable; } export declare class NotificationResponseMessage extends BusMessage { notice: NotificationMessage; response: any; static SourceKey: string; constructor(notice: NotificationMessage, response: any); static filter(bus: MessageBus): Observable; static responseFor(notification: NotificationMessage, response: any): NotificationResponseMessage; }