import { TemplateRef } from '@angular/core';
import { Observable } from 'rxjs';
export interface Notification {
    content: string | TemplateRef<any>;
    id?: string;
    timeout?: number;
    localize?: boolean;
    dismiss?: boolean;
    dismissText?: string;
    data?: {
        [key: string]: any;
    };
    type?: NotificationType;
    actions?: NotificationAction[];
    color?: string;
    backgroundColor?: string;
    destroy?: () => void;
}
export interface NotificationAction {
    title: string;
    callback?: () => any;
    type?: 'default' | 'cancel';
}
export declare enum NotificationType {
    Success = "success",
    Error = "error",
    Warning = "warning",
    Info = "info",
    Custom = "custom"
}
export declare class NotificationsConfig {
    mode?: 'append' | 'prepend';
    position?: NotificationsPosition;
    timeout?: number;
    dismiss?: boolean;
    localize?: boolean;
    dismissText?: string;
}
export declare enum NotificationsPosition {
    TopRight = "flex-start|flex-end",
    BottomRight = "flex-end|flex-end",
    TopLeft = "flex-start|flex-start",
    BottomLeft = "flex-end|flex-start"
}
export declare class NotificationsData {
    data: Observable<Notification[]>;
    dismissText: string;
    position: NotificationsPosition;
}
