import { NotificationCenterConfig, NotificationItem } from './types';
export type { NotificationCenterConfig, NotificationItem, NotificationLevel } from './types';
export declare class NotificationCenter {
    readonly el: HTMLDivElement;
    private readonly centerId;
    private readonly notifications;
    private readonly maxVisible;
    private readonly emptyMessage;
    private readonly onMarkRead;
    private readonly onMarkAllRead;
    private readonly onDismiss;
    private readonly onClearAll;
    private listEl;
    private badgeEl;
    private emptyEl;
    private markAllReadBtn;
    private clearAllBtn;
    private readonly itemHandlersMap;
    private readonly markAllReadHandler;
    private readonly clearAllHandler;
    constructor(config: NotificationCenterConfig);
    /** Add a notification to the top of the list */
    addNotification(item: NotificationItem): void;
    /** Remove a notification by id */
    removeNotification(id: string): void;
    /** Mark a single notification as read */
    markAsRead(id: string): void;
    /** Mark all notifications as read */
    markAllAsRead(): void;
    /** Remove all notifications */
    clearAll(): void;
    /** Get the count of unread notifications */
    getUnreadCount(): number;
    /** Remove the element from the DOM and clean up all event listeners */
    destroy(): void;
    private render;
    private createItemEl;
    private removeItemEl;
    private cleanupAllItems;
    private updateBadge;
    private buildClassName;
}
//# sourceMappingURL=index.d.ts.map