import { Observable, Subject } from 'rxjs';
import { NxNotificationConfig } from './nx-notification/nx-notification-config';
import { NxNotificationRef } from './nx-notification/nx-notification-ref';
import { type NxNotificationsComponent } from './nx-notifications.component';
import * as i0 from "@angular/core";
/** Service for opening and closing notifications in `NxNotificationsComponent` */
export declare class NxNotificationsService {
    private _componentInstance;
    private _notifications;
    private _openError$;
    private _afterOpened$;
    private _closeError$;
    private _afterClosed$;
    private _open$;
    private _close$;
    /** For NxNotificationsComponent write access only */
    __internal: {
        instance: import("@angular/core").WritableSignal<NxNotificationsComponent | null>;
        notifications: import("@angular/core").WritableSignal<NxNotificationRef[]>;
        openError$: Subject<{
            ref: NxNotificationRef;
            error: string;
        }>;
        afterOpened$: Subject<NxNotificationRef>;
        closeError$: Subject<{
            id: string;
            error: string;
        }>;
        afterClosed$: Subject<string>;
        open$: Subject<NxNotificationRef>;
        close$: Subject<string>;
    };
    /** Existing notifications */
    notifications: import("@angular/core").Signal<NxNotificationRef[]>;
    /** Emits after a notifications is opened */
    afterOpened$: Observable<NxNotificationRef>;
    /** Emits after a notification is closed */
    afterClosed$: Observable<string>;
    /** Allow two cycles and some extra headroom */
    private REPLAY_CLEANUP_DELAY_MS;
    /** Open a new notification.
     *
     * - Errors in method if NxNotificationsComponent not found
     * - Errors in return observable if notification with same id already exists or is already opening
     */
    open(content: string, config?: NxNotificationConfig & {
        id?: string;
    }): Observable<NxNotificationRef>;
    /** Close an existing notification.
     *
     * - Errors in method if NxNotificationsComponent not found
     * - Stops notification from opening if queued
     * - Has no effect if notification is already closing
     * - Errors in return observable if no notification with matching id is found
     */
    close(id: string): Observable<string>;
    static ɵfac: i0.ɵɵFactoryDeclaration<NxNotificationsService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NxNotificationsService>;
}
