/*!
 * @license
 * Copyright © 2005-2025 Hyland Software, Inc. and its affiliates. All rights reserved.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
import { AfterViewInit, ChangeDetectorRef, OnInit } from '@angular/core';
import { NotificationService } from '../services/notification.service';
import { NotificationModel } from '../models/notification.model';
import { MatMenuTrigger, MenuPositionX, MenuPositionY } from '@angular/material/menu';
import { StorageService } from '../../common/services/storage.service';
import { PaginationModel } from '../../models/pagination.model';
import * as i0 from "@angular/core";
export declare class NotificationHistoryComponent implements OnInit, AfterViewInit {
    private readonly notificationService;
    private readonly storageService;
    private readonly cd;
    static MAX_NOTIFICATION_STACK_LENGTH: number;
    static NOTIFICATION_STORAGE: string;
    trigger: MatMenuTrigger;
    /** Custom choice for opening the menu at the bottom. Can be `before` or `after`. */
    menuPositionX: MenuPositionX;
    /** Custom choice for opening the menu at the bottom. Can be `above` or `below`. */
    menuPositionY: MenuPositionY;
    /** Maximum number of notifications to display. The rest will remain hidden until load more is clicked */
    maxNotifications: number;
    notifications: NotificationModel[];
    paginatedNotifications: NotificationModel[];
    pagination: PaginationModel;
    private readonly markAsReadButton;
    private readonly loadMoreButton;
    private readonly menuItems;
    private readonly destroyRef;
    private focusKeyManager;
    constructor(notificationService: NotificationService, storageService: StorageService, cd: ChangeDetectorRef);
    ngOnInit(): void;
    ngAfterViewInit(): void;
    addNewNotification(notification: NotificationModel): void;
    saveNotifications(): void;
    onMenuOpened(): void;
    markAsRead(): void;
    createPagination(): void;
    loadMore($event: MouseEvent): void;
    hasMoreNotifications(): boolean;
    onNotificationClick(notification: NotificationModel, $event: MouseEvent): void;
    manageFocus(event: KeyboardEvent): void;
    private initializeFocusManager;
    static ɵfac: i0.ɵɵFactoryDeclaration<NotificationHistoryComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NotificationHistoryComponent, "adf-notification-history", never, { "menuPositionX": { "alias": "menuPositionX"; "required": false; }; "menuPositionY": { "alias": "menuPositionY"; "required": false; }; "maxNotifications": { "alias": "maxNotifications"; "required": false; }; }, {}, never, never, true, never>;
}
