import { GraphWidget, HorizontalAnnotation, IMetric, IWidget } from "aws-cdk-lib/aws-cloudwatch"; import { EC2MetricFactoryProps } from "./EC2MetricFactory"; import { BaseMonitoringProps, MetricWithAlarmSupport, Monitoring, MonitoringScope } from "../../common"; import { EC2AlarmFactory, NetworkInThreshold, NetworkOutThreshold } from "../../common/monitoring/alarms/EC2AlarmFactory"; import { MonitoringHeaderWidget } from "../../dashboard"; export interface EC2MonitoringOptions extends EC2MetricFactoryProps, BaseMonitoringProps { readonly addNetworkOutTotalBytesExceedThresholdAlarm?: Record; readonly addNetworkInTotalBytesExceedThresholdAlarm?: Record; } export interface EC2MonitoringProps extends EC2MonitoringOptions { } export declare class EC2Monitoring extends Monitoring { readonly family: string; readonly title: string; readonly ec2AlarmFactory: EC2AlarmFactory; readonly cpuUtilisationMetrics: IMetric[]; readonly diskReadBytesMetrics: IMetric[]; readonly diskWriteBytesMetrics: IMetric[]; readonly diskReadOpsMetrics: IMetric[]; readonly diskWriteOpsMetrics: IMetric[]; readonly networkInMetrics: MetricWithAlarmSupport[]; readonly networkOutMetrics: MetricWithAlarmSupport[]; readonly networkInSumMetrics: MetricWithAlarmSupport[]; readonly networkOutSumMetrics: MetricWithAlarmSupport[]; readonly networkInSumLimitAnnotations: HorizontalAnnotation[]; readonly networkOutSumLimitAnnotations: HorizontalAnnotation[]; constructor(scope: MonitoringScope, props: EC2MonitoringProps); summaryWidgets(): IWidget[]; widgets(): IWidget[]; createTitleWidget(): MonitoringHeaderWidget; createCpuWidget(width: number, height: number): GraphWidget; createDiskWidget(width: number, height: number): GraphWidget; createDiskOpsWidget(width: number, height: number): GraphWidget; createNetworkWidget(width: number, height: number): GraphWidget; }