UNPKG

polyv-live-cli

Version:

CLI tool for managing PolyV live streaming services.

75 lines 3.06 kB
import { EventEmitter } from 'events'; import { AlertHistoryManager } from './alert-history-manager'; import { AlertRuleManager } from './alert-rule-manager'; import { Alert, AlertFilter, AlertEvaluationContext, AlertSystemConfig } from '../types/alert'; export declare class AlertManager extends EventEmitter { private alerts; private historyManager; private ruleManager; private config; private isRunning; private evaluationInterval; private cleanupInterval; constructor(config?: Partial<AlertSystemConfig>); private setupEventHandlers; private setupCleanupInterval; start(): void; stop(): void; createAlert(alertData: Omit<Alert, 'id' | 'timestamp' | 'acknowledged' | 'status'>): Alert; acknowledgeAlert(alertId: string, user?: string): boolean; resolveAlert(alertId: string, user?: string): boolean; ignoreAlert(alertId: string, user?: string): boolean; deleteAlert(alertId: string): boolean; addAlertNotes(alertId: string, notes: string, user?: string): boolean; getAlerts(): Alert[]; getAlert(alertId: string): Alert | undefined; getFilteredAlerts(filter?: AlertFilter): Alert[]; acknowledgeBatch(alertIds: string[], user?: string): { success: string[]; failed: string[]; }; resolveBatch(alertIds: string[], user?: string): { success: string[]; failed: string[]; }; clearAllAlerts(): number; evaluateAlerts(context?: AlertEvaluationContext): void; getStatistics(): { totalEntries: number; uniqueAlerts: number; actionCounts: Record<string, number>; userCounts: Record<string, number>; timeRange: { earliest: number; latest: number; } | null; levelCounts: Record<import("../types/alert").AlertLevel, number>; typeCounts: Record<import("../types/alert").AlertType, number>; statusCounts: Record<import("../types/alert").AlertStatus, number>; }; getRecentActivity(hours?: number): { totalAlerts: number; newAlerts: number; acknowledgedAlerts: number; resolvedAlerts: number; activeUsers: string[]; topAlertTypes: Array<{ type: import("../types/alert").AlertType; count: number; }>; }; exportAlerts(format?: 'json' | 'csv'): string; importAlerts(data: string, format?: 'json', merge?: boolean): { imported: number; errors: string[]; }; getAlertHistory(filter?: AlertFilter, limit?: number, offset?: number): import("../types/alert").AlertHistoryEntry[]; searchAlertHistory(searchText: string, searchFields?: Array<'title' | 'message' | 'source' | 'action' | 'user'>, limit?: number): import("../types/alert").AlertHistoryEntry[]; getRuleManager(): AlertRuleManager; getHistoryManager(): AlertHistoryManager; private performAutomaticCleanup; private enforceMemoryLimits; private generateAlertId; destroy(): Promise<void>; } //# sourceMappingURL=alert-manager.d.ts.map