import { Injector } from '@angular/core'; import { DynamicBaseComponent } from '../dynamic-base.component'; export interface INotification { id: string; time: number; data?: { [name: string]: any; }; name?: string; action?: () => void; hide?: boolean; } export declare class NotificationComponent extends DynamicBaseComponent { private injector; protected static self: NotificationComponent; model: { [name: string]: any; items?: INotification[]; }; /** * Adds a new notification to the global component instance * @param id ID of notification * @param data Data to pass to the notification * @param action Action display to show on notification * @param cntr Container with which the notification should be displayed */ static notify(id: string, data: { [name: string]: any; }, action?: () => void, cntr?: string): () => void; /** * Remove a notification * @param id ID of the notification * @param cntr Container of the notification layer */ static dismiss(id: string, cntr?: string): void; /** * Set delay for automatically removing notifications * @param delay Number of milliseconds */ static timeout(delay: number): void; protected type: string; constructor(injector: Injector); resize(): void; protected update(data: { [name: string]: any; }): void; delay(delay: number): void; notify(id: string, data: { [name: string]: any; }, action?: () => void): void; dismiss(id: string): void; action(item: any): void; removeItem(item: any, force?: boolean): void; protected render(): void; }