import React from 'react';
import type { Application } from '../application';
import type { INotification } from '../domain';
export interface INotificationsListProps {
    application?: Application;
    level: string;
    stageType?: string;
    sendNotifications?: boolean;
    handleSendNotificationsChanged?: (event: React.ChangeEvent<HTMLInputElement>) => void;
    notifications: INotification[];
    updateNotifications: (notifications: INotification[]) => void;
}
export interface INotificationsListState {
    indexEdited: number;
    isNotificationsDirty: boolean;
    supportedNotificationTypes: string[];
}
export declare class NotificationsList extends React.Component<INotificationsListProps, INotificationsListState> {
    private destroy$;
    constructor(props: INotificationsListProps);
    componentDidMount(): void;
    componentWillUnmount(): void;
    private getEditFunctionality;
    private addNotification;
    private editNotification;
    private saveAppNotifications;
    editAppNotification: (newNotification: INotification) => PromiseLike<void>;
    private showEditModal;
    private removeNotification;
    private revertNotificationChanges;
    render(): JSX.Element;
}
