import { ArmClient } from '../client/ArmClient.js'; /** * Processed Alert Rule summary. */ export interface AlertRuleSummary { id: string; name: string; resourceGroup: string; description?: string; severity?: number; enabled?: boolean; scopes?: string[]; criteria?: { allOf?: Array<{ metricName: string; metricNamespace?: string; operator: string; threshold?: number; timeAggregation: string; }>; }; actions?: Array<{ actionGroupId: string; }>; windowSize?: string; evaluationFrequency?: string; } /** * Processed Action Group summary. */ export interface ActionGroupSummary { id: string; name: string; resourceGroup: string; enabled?: boolean; shortName?: string; emailReceivers?: Array<{ name: string; emailAddress: string; useCommonAlertSchema?: boolean; }>; smsReceivers?: Array<{ name: string; countryCode: string; phoneNumber: string; }>; webhookReceivers?: Array<{ name: string; serviceUri: string; useCommonAlertSchema?: boolean; }>; azureFunctionReceivers?: Array<{ name: string; functionAppResourceId: string; functionName: string; }>; logicAppReceivers?: Array<{ name: string; resourceId: string; }>; armRoleReceivers?: Array<{ name: string; roleId: string; }>; } /** * Processed Smart Detector Alert summary. */ export interface SmartDetectorAlertSummary { id: string; name: string; resourceGroup: string; description?: string; state?: string; severity?: string; frequency?: string; detectorId?: string; scope?: string[]; actionGroupIds?: string[]; } /** * Service for Azure Monitoring operations. */ export declare class MonitoringService { private client; constructor(client: ArmClient); /** * List all metric alert rules. */ listAlertRules(options?: { resourceGroup?: string; targetResourceId?: string; }): Promise<{ alerts: AlertRuleSummary[]; summary: { total: number; bySeverity: Record; byEnabled: { enabled: number; disabled: number; }; }; }>; /** * List all action groups. */ listActionGroups(options?: { resourceGroup?: string; }): Promise<{ actionGroups: ActionGroupSummary[]; summary: { total: number; byReceiverType: Record; byEnabled: { enabled: number; disabled: number; }; }; }>; /** * List smart detector alert rules. */ listSmartDetectorAlerts(options?: { resourceGroup?: string; }): Promise<{ alerts: SmartDetectorAlertSummary[]; summary: { total: number; byState: Record; bySeverity: Record; }; }>; /** * Process a MetricAlertRule into an AlertRuleSummary. */ private processAlertRule; /** * Process an ActionGroup into an ActionGroupSummary. */ private processActionGroup; /** * Process a SmartDetectorAlertRule into a SmartDetectorAlertSummary. */ private processSmartDetectorAlert; } //# sourceMappingURL=MonitoringService.d.ts.map