/** * F5 CLI - Notification Service * Send notifications via Slack, Email, or Webhook * * @module @f5/cli/core/notification-service * @version 1.0.0 */ export interface SlackConfig { webhookUrl: string; channel?: string; username?: string; iconEmoji?: string; } export interface EmailConfig { host: string; port: number; secure?: boolean; auth: { user: string; pass: string; }; from: string; to: string | string[]; } export interface WebhookConfig { url: string; method?: 'POST' | 'PUT'; headers?: Record; } export interface NotificationConfig { slack?: SlackConfig; email?: EmailConfig; webhook?: WebhookConfig; enabled?: boolean; } export interface NotificationPayload { type: 'import' | 'conflict' | 'error' | 'validation' | 'export'; title: string; message: string; metadata?: Record; priority?: 'low' | 'normal' | 'high'; } export declare class NotificationService { private config; private emailTransporter; constructor(config: NotificationConfig); /** * Send notification to all configured channels */ send(payload: NotificationPayload): Promise; /** * Send Slack notification */ private sendSlack; /** * Send Email notification */ private sendEmail; /** * Send Webhook notification */ private sendWebhook; /** * Get emoji for notification type */ private getEmoji; /** * Get Slack color for notification type */ private getSlackColor; /** * Build HTML email content */ private buildEmailHtml; /** * Test notification configuration */ test(): Promise<{ slack: boolean; email: boolean; webhook: boolean; }>; } /** * Load notification config from environment or config file */ export declare function loadNotificationConfig(): NotificationConfig;