import { Direction } from '@angular/cdk/bidi';
import { AfterViewInit, ComponentRef, EmbeddedViewRef, OnDestroy, OnInit, TemplateRef, Type, ViewContainerRef } from '@angular/core';
import { AbstractFdNgxClass, Nullable } from '@fundamental-ngx/cdk/utils';
import * as i0 from "@angular/core";
export declare class NotificationComponent extends AbstractFdNgxClass implements OnInit, AfterViewInit, OnDestroy {
    /** @hidden */
    containerRef: import("@angular/core").Signal<ViewContainerRef | undefined>;
    /** User defined width for the notification */
    width: import("@angular/core").InputSignal<Nullable<string>>;
    /** Whether the notificatioon is in mobile mode */
    mobile: import("@angular/core").InputSignal<boolean>;
    /** @hidden */
    _dir$: import("@angular/core").Signal<Direction>;
    /** ID of the notification */
    id: string;
    /**
     * aria-level of the Notificaion
     * should be set to 2 in Notification Group
     * default value is undefined
     */
    ariaLevel: import("@angular/core").WritableSignal<Nullable<number>>;
    /**
     * role of the Notificaion
     * should be set to 'listitem' in Notification Group
     * default value is undefined
     */
    role: import("@angular/core").WritableSignal<Nullable<string>>;
    /**
     * whether the Notificaion is selected
     * default is set to false
     */
    selected: import("@angular/core").InputSignal<boolean>;
    /** Whether the notification is dismissed with the ESC key */
    escKeyCloseable: boolean;
    /** Whether the notification should close with router change */
    closeOnNavigation: boolean;
    /** aria-labelledby attribute for the notification component element. */
    ariaLabelledBy: import("@angular/core").WritableSignal<Nullable<string>>;
    /** aria-label attribute for the notification component element. */
    ariaLabel: Nullable<string>;
    /** aria-describedby attribute for the notification component element. */
    ariaDescribedBy: Nullable<string>;
    /** Reference to the child content */
    childContent: TemplateRef<any> | Type<any> | undefined;
    /** Reference to the component or the embedded view */
    componentRef: ComponentRef<any> | EmbeddedViewRef<any> | undefined;
    /** @hidden */
    private _notificationTitle;
    /** @hidden */
    private _notificationParagraph;
    /** @hidden */
    private _notificationFooter;
    /** @hidden */
    private readonly _destroyRef;
    /** @hidden */
    private readonly _afterViewInit$;
    /** @hidden The class that traps and manages focus within the notification. */
    private _focusTrap;
    /** @hidden */
    private _cdRef;
    /** @hidden */
    private _componentFactoryResolver;
    /** @hidden */
    private _router;
    /** @hidden */
    private _focusTrapFactory;
    /** @hidden */
    private _notificationConfig;
    /** @hidden */
    private _notificationRef;
    /** @hidden */
    private _rtlService;
    /** @hidden */
    private _isTitleTruncated;
    /** @hidden */
    private _isParagraphTruncated;
    /** @hidden */
    private _hasTruncation;
    /** @hidden */
    private _expanded;
    /** @hidden */
    private _observer;
    /** @hidden */
    constructor();
    /** @hidden Listen and close notification on Escape key */
    _closeNotificationEsc(event: KeyboardEvent): void;
    /** @hidden */
    ngOnInit(): void;
    /** @hidden */
    ngAfterViewInit(): void;
    /** @hidden */
    ngOnDestroy(): void;
    /**
     * Moves the focus inside the focus trap.
     * @returns
     * Returns a promise that resolves with a boolean, depending on whether focus was moved successfully.
     */
    trapFocus(): Promise<boolean>;
    /** @hidden */
    _setProperties(): void;
    /** @hidden */
    private _observeNotificationResize;
    /** @hidden */
    private _updateExpandedClass;
    /** @hidden */
    private _checkTruncation;
    /** @hidden */
    private _attachResizeListener;
    /** @hidden */
    private _onWindowResize;
    /** @hidden Listen on NavigationStart event and dismiss the dialog */
    private _listenAndCloseOnNavigation;
    /** @hidden */
    private _loadFromComponent;
    /** @hidden */
    private _loadFromTemplate;
    /** @hidden */
    private _setNotificationConfig;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotificationComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NotificationComponent, "fd-notification", never, { "width": { "alias": "width"; "required": false; "isSignal": true; }; "mobile": { "alias": "mobile"; "required": false; "isSignal": true; }; "selected": { "alias": "selected"; "required": false; "isSignal": true; }; }, {}, ["_notificationTitle", "_notificationParagraph", "_notificationFooter"], ["*"], true, never>;
}
