/**
 * @license
 * Copyright Alibaba.com All Rights Reserved.
 *
 * Use of this source code is governed by an MIT-style license that can be
 * found in the LICENSE file at https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/LICENSE
 */
import { ChangeDetectorRef, OnDestroy, OnInit } from '@angular/core';
import { NotificationConfig, NzConfigService } from 'ng-zorro-antd/core';
import { Subject } from 'rxjs';
import { NzNotificationDataFilled, NzNotificationDataOptions } from './typings';
import * as i0 from "@angular/core";
export declare class NzNotificationContainerComponent implements OnInit, OnDestroy {
    protected cdr: ChangeDetectorRef;
    protected nzConfigService: NzConfigService;
    config: Required<NotificationConfig>;
    bottom: string | null;
    messages: Array<Required<NzNotificationDataFilled>>;
    constructor(cdr: ChangeDetectorRef, nzConfigService: NzConfigService);
    get topLeftMessages(): Array<Required<NzNotificationDataFilled>>;
    get topRightMessages(): Array<Required<NzNotificationDataFilled>>;
    get bottomLeftMessages(): Array<Required<NzNotificationDataFilled>>;
    get bottomRightMessages(): Array<Required<NzNotificationDataFilled>>;
    /**
     * Create a new notification.
     * If there's a notification whose `nzKey` is same with `nzKey` in `NzNotificationDataFilled`,
     * replace its content instead of create a new one.
     * @override
     * @param notification
     */
    createMessage(notification: NzNotificationDataFilled): void;
    protected updateConfig(): void;
    protected subscribeConfigChange(): void;
    private replaceNotification;
    destroy$: Subject<void>;
    top: string | null;
    ngOnInit(): void;
    ngOnDestroy(): void;
    /**
     * Remove a message by `messageId`.
     * @param messageId Id of the message to be removed.
     * @param userAction Whether this is closed by user interaction.
     */
    removeMessage(messageId: string, userAction?: boolean): void;
    /**
     * Remove all messages.
     */
    removeMessageAll(): void;
    /**
     * Merge default options and custom message options
     * @param options
     */
    protected mergeMessageOptions(options?: NzNotificationDataOptions): NzNotificationDataOptions;
    static ɵfac: i0.ɵɵFactoryDef<NzNotificationContainerComponent>;
    static ɵcmp: i0.ɵɵComponentDefWithMeta<NzNotificationContainerComponent, "nz-notification-container", ["nzNotificationContainer"], {}, {}, never>;
}
