import { EventEmitter } from 'events';
import { BaseComponent } from './base.component';
import { ComponentConfig } from '../types/monitoring';
import { Alert, AlertFilter, AlertGrouping, AlertStatistics } from '../types/alert';
import { KeyboardEvent } from '../types/interaction';
export declare class AlertPanel extends BaseComponent {
    private container;
    private alertList;
    private detailsBox;
    private filterBox;
    private statisticsBox;
    private actionBar;
    private alerts;
    private filteredAlerts;
    private selectedAlertIndex;
    private currentFilter;
    private currentGrouping;
    private panelConfig;
    private showDetailsPane;
    private showFilterPane;
    private showStatisticsPane;
    private readonly levelIcons;
    private readonly typeIcons;
    constructor(config: ComponentConfig, eventBus: EventEmitter);
    private setupAlertEventListeners;
    protected createWidget(): void;
    private createAlertList;
    private createDetailsBox;
    private createFilterBox;
    private createStatisticsBox;
    private createActionBar;
    private updateLayout;
    private bindKeyboardEvents;
    private bindMouseEvents;
    protected handleCustomKeyboard(event: KeyboardEvent): boolean;
    private generateActionBarContent;
    private generateFilterContent;
    private formatAlertForList;
    private formatTimestamp;
    private updateAlertList;
    private updateDetailsPane;
    private formatAlertDetails;
    private applyFilter;
    private applyGrouping;
    private toggleDetailsPane;
    private toggleFilterPane;
    private toggleStatisticsPane;
    private updateStatistics;
    private calculateStatistics;
    private formatStatistics;
    private acknowledgeSelectedAlert;
    private ignoreSelectedAlert;
    private addNotesToSelected;
    private jumpToAlert;
    private resolveSelectedAlert;
    private deleteSelectedAlert;
    private clearAllAlerts;
    private refreshAlerts;
    addAlert(alert: Alert): void;
    deleteAlert(alertId: string): boolean;
    setFilter(filter: AlertFilter): void;
    setGrouping(grouping?: AlertGrouping): void;
    getAlerts(): Alert[];
    getFilteredAlerts(): Alert[];
    getStatistics(): AlertStatistics;
    acknowledgeCurrentAlert(user?: string): boolean;
    acknowledgeAlert(alertId: string, user?: string): boolean;
    resolveCurrentAlert(user?: string): boolean;
    resolveAlert(alertId: string, user?: string): boolean;
    ignoreCurrentAlert(user?: string): boolean;
    ignoreAlert(alertId: string, user?: string): boolean;
    acknowledgeBatch(alertIds: string[], user?: string): {
        success: string[];
        failed: string[];
    };
    resolveBatch(alertIds: string[], user?: string): {
        success: string[];
        failed: string[];
    };
    acknowledgeAllFiltered(user?: string): number;
    resolveAllFiltered(user?: string): number;
    addAlertNotes(alertId: string, notes: string, user?: string): boolean;
    getSelectedAlert(): Alert | null;
    selectAlert(index: number): boolean;
    selectAlertById(alertId: string): boolean;
    private acknowledgeAlertInternal;
    private resolveAlertInternal;
    private handleNewAlert;
    private handleAlertAcknowledged;
    private handleAlertResolved;
    private handleAlertUpdated;
    private handleFilterChanged;
    private handleClearAlerts;
    render(): void;
    update(data: any): void;
    destroy(): void;
}
//# sourceMappingURL=alert.panel.d.ts.map