import { ChangeDetectorRef, OnDestroy } from '@angular/core';
import { ItNotificationService } from '../../../services/notification/notification.service';
import { Notification, NotificationPosition, NotificationType } from '../../../interfaces/core';
import * as i0 from "@angular/core";
import * as i1 from "../../../utils/coercion";
export declare class ItNotificationsComponent implements OnDestroy {
    private readonly _changeDetectorRef;
    private readonly _notificationService;
    /**
     * Default notifications duration (milliseconds)
     * @default 8000
     */
    duration: number;
    /**
     * Default notifications position
     */
    position: NotificationPosition | undefined;
    /**
     * Default notifications is dismissible
     * @default true
     */
    dismissible: boolean;
    private subscription;
    private notificationCount;
    protected notifications: Array<Notification & {
        id: string;
    }>;
    constructor(_changeDetectorRef: ChangeDetectorRef, _notificationService: ItNotificationService);
    ngOnDestroy(): void;
    protected get NotificationType(): typeof NotificationType;
    /**
     * Hide the notification
     * @param id
     */
    protected hideNotification(id: string): void;
    /**
     * Retrieve the icon name by notification type
     * @param notification the notification
     * @protected
     */
    private getNotificationIcon;
    static ɵfac: i0.ɵɵFactoryDeclaration<ItNotificationsComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<ItNotificationsComponent, "it-notifications", never, { "duration": { "alias": "duration"; "required": false; }; "position": { "alias": "position"; "required": false; }; "dismissible": { "alias": "dismissible"; "required": false; }; }, {}, never, never, true, never>;
    static ngAcceptInputType_dismissible: i1.BooleanInput;
}
