/**
 * Critical Alert Definitions
 *
 * Defines alerting rules for trust-critical operations across all Vorion services.
 * These alerts are consumed by monitoring backends (Grafana, PagerDuty, etc.)
 * and exported as OpenTelemetry metric-based alerts.
 *
 * Priority levels:
 *   P0 — Immediate: Data integrity at risk (proof chain, signatures)
 *   P1 — Urgent: Security/trust degradation (auth failures, scoring latency)
 *   P2 — Important: Service health (error rates, circuit breakers)
 *   P3 — Warning: Performance (latency budgets, queue depth)
 */
export interface AlertRule {
    /** Unique alert identifier */
    id: string;
    /** Human-readable name */
    name: string;
    /** Priority level (P0-P3) */
    priority: 'P0' | 'P1' | 'P2' | 'P3';
    /** Description of what this alert detects */
    description: string;
    /** Metric name to evaluate */
    metric: string;
    /** Condition operator */
    operator: 'gt' | 'lt' | 'gte' | 'lte' | 'eq';
    /** Threshold value */
    threshold: number;
    /** Evaluation window in seconds */
    windowSeconds: number;
    /** Notification channels */
    channels: ('pagerduty' | 'slack' | 'email' | 'webhook')[];
    /** Tags for routing and filtering */
    tags: string[];
}
/**
 * Critical alert rules for the Vorion ecosystem.
 */
export declare const ALERT_RULES: AlertRule[];
export type AlertCallback = (rule: AlertRule, currentValue: number) => void;
/**
 * Register a callback for when an alert fires.
 */
export declare function onAlert(callback: AlertCallback): void;
/**
 * Evaluate a metric value against all matching alert rules.
 */
export declare function evaluateAlerts(metricName: string, value: number): void;
/**
 * Get all alert rules for a specific priority.
 */
export declare function getAlertsByPriority(priority: AlertRule['priority']): AlertRule[];
/**
 * Get all alert rules tagged with a specific tag.
 */
export declare function getAlertsByTag(tag: string): AlertRule[];
//# sourceMappingURL=alerts.d.ts.map