import { TemplateRef } from '@angular/core';
import { Observable, Subject } from 'rxjs';
import { OnClickCallback } from '../../modal/at-modal.service';
export declare type NotificationConfigType = 'success' | 'info' | 'error' | 'warning' | 'loading';
export interface NotificationOption {
    index?: string;
    title?: string | TemplateRef<void>;
    duration?: number;
    icon?: string | TemplateRef<void>;
    message?: string | TemplateRef<void>;
    showClose?: boolean;
    state?: 'enter' | 'leave';
    type?: NotificationConfigType;
    atOnClose?: OnClickCallback<NotificationConfig>;
}
export declare class NotificationConfig implements NotificationOption {
    index?: string;
    title?: string | TemplateRef<void>;
    duration?: number;
    icon?: string | TemplateRef<void>;
    message?: string | TemplateRef<void>;
    showClose?: boolean;
    state?: 'enter' | 'leave';
    type?: NotificationConfigType;
    atOnClose?: OnClickCallback<NotificationConfig>;
    $atAfterClose: Subject<NotificationConfig>;
    readonly atAfterClose: Observable<NotificationConfig>;
    guid(): string;
    constructor(options: NotificationOption, type?: NotificationConfigType);
}
