import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch";
import { KinesisDataAnalyticsMetricFactoryProps } from "./KinesisDataAnalyticsMetricFactory";
import { BaseMonitoringProps, ErrorCountThreshold, ErrorRateThreshold, FullRestartCountThreshold, KinesisDataAnalyticsAlarmFactory, MaxBackPressuredTimeMsPerSecondThreshold, MaxDowntimeThreshold, MetricWithAlarmSupport, Monitoring, MonitoringScope } from "../../common";
import { MonitoringHeaderWidget } from "../../dashboard";
export interface KinesisDataAnalyticsMonitoringOptions extends BaseMonitoringProps {
    readonly addDowntimeAlarm?: Record<string, MaxDowntimeThreshold>;
    readonly addFullRestartCountAlarm?: Record<string, FullRestartCountThreshold>;
    readonly addFullRestartRateAlarm?: Record<string, ErrorRateThreshold>;
    readonly addBackPressuredTimeMsPerSecondAlarm?: Record<string, MaxBackPressuredTimeMsPerSecondThreshold>;
    readonly addCheckpointFailureCountAlarm?: Record<string, ErrorCountThreshold>;
    readonly addCheckpointFailureRateAlarm?: Record<string, ErrorRateThreshold>;
}
export interface KinesisDataAnalyticsMonitoringProps extends KinesisDataAnalyticsMetricFactoryProps, KinesisDataAnalyticsMonitoringOptions {
}
export declare class KinesisDataAnalyticsMonitoring extends Monitoring {
    readonly title: string;
    readonly kinesisDataAnalyticsUrl?: string;
    readonly kdaAlarmFactory: KinesisDataAnalyticsAlarmFactory;
    readonly downtimeAnnotations: HorizontalAnnotation[];
    readonly fullRestartAnnotations: HorizontalAnnotation[];
    readonly fullRestartRateAnnotations: HorizontalAnnotation[];
    readonly backPressuredTimeMsPerSecondAnnotations: HorizontalAnnotation[];
    readonly checkpointFailureCountAnnotations: HorizontalAnnotation[];
    readonly checkpointFailureRateAnnotations: HorizontalAnnotation[];
    readonly cpuUtilizationPercentMetric: MetricWithAlarmSupport;
    readonly downtimeMsMetric: MetricWithAlarmSupport;
    readonly fullRestartsCountMetric: MetricWithAlarmSupport;
    readonly heapMemoryUtilizationPercentMetric: MetricWithAlarmSupport;
    readonly kpusCountMetric: MetricWithAlarmSupport;
    readonly lastCheckpointDurationMsMetric: MetricWithAlarmSupport;
    readonly lastCheckpointSizeBytesMetric: MetricWithAlarmSupport;
    readonly numberOfFailedCheckpointsCountMetric: MetricWithAlarmSupport;
    readonly oldGenerationGCCountMetric: MetricWithAlarmSupport;
    readonly oldGenerationGCTimeMsMetric: MetricWithAlarmSupport;
    readonly checkpointFailureRateMetric: MetricWithAlarmSupport;
    readonly fullRestartRateMetric: MetricWithAlarmSupport;
    readonly backPressuredTimeMsPerSecondMetric: MetricWithAlarmSupport;
    constructor(scope: MonitoringScope, props: KinesisDataAnalyticsMonitoringProps);
    summaryWidgets(): IWidget[];
    widgets(): IWidget[];
    createTitleWidget(): MonitoringHeaderWidget;
    createKPUWidget(width: number, height: number): GraphWidget;
    createResourceUtilizationWidget(width: number, height: number): GraphWidget;
    createDownTimeWidget(width: number, height: number): GraphWidget;
    createFullRestartsWidget(width: number, height: number): GraphWidget;
    createBackPressuredTimeWidget(width: number, height: number): GraphWidget;
    createNumberOfFailedCheckpointsWidget(width: number, height: number): GraphWidget;
    createLastCheckpointDurationWidget(width: number, height: number): GraphWidget;
    createLastCheckpointSizeWidget(width: number, height: number): GraphWidget;
    createGarbageCollectionWidget(width: number, height: number): GraphWidget;
    private createSummaryWidgetRow;
    private createCheckpointAndGcWidgets;
}
