import React from 'react';
import type { INotification } from './NotificationsPopover';
import type { INotificationCategory } from './notificationCategories';
export interface ICategoryNotifications {
    category: INotificationCategory;
    notifications: INotification[];
}
export interface ICategorizedNotificationsProps {
    notifications: INotification[];
    grouped: boolean;
    title: string;
    onEditTag(notification: INotification): void;
    onDeleteTag(notification: INotification): void;
}
export interface ICategorizedNotificationsState {
    categorizedAlerts: ICategoryNotifications[];
    selectedCategory: INotificationCategory;
}
/**
 * Shows categorized notifications
 *
 * +------------------------------------------------------+
 * |  Alerts                                              |
 * |------------------+-----------------------------------|
 * | Security         |                                   |
 * +------------------| notification 1                    |
 * | Deprecation      |                                   |
 * +------------------| update your libs, yo              |
 * | Other            |                                   |
 * +------------------| Brought to you by Astrid          |
 * |                  |                                   |
 * |                  |-----------------------------------|
 * |                  |                                   |
 * |                  | notification 2                    |
 * |                  |                                   |
 * |                  |                                   |
 * |                  |                                   |
 * +------------------+-----------------------------------+
 */
export declare class CategorizedNotifications extends React.Component<ICategorizedNotificationsProps, ICategorizedNotificationsState> {
    state: ICategorizedNotificationsState;
    constructor(props: ICategorizedNotificationsProps);
    componentWillReceiveProps(props: ICategorizedNotificationsProps): void;
    /**
     * Given a list of alerts, groups into categories (entityTag namespaces, e.g., 'deprecation')
     */
    private categorizeNotifications;
    private handleCategorySelected;
    render(): JSX.Element;
}
