import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch";
import { KinesisDataStreamConsumerMetricFactoryProps } from "./KinesisDataStreamConsumerMetricFactory";
import { BaseMonitoringProps, ConsumerRateExceededThreshold, KinesisAlarmFactory, MaxIteratorAgeThreshold, MetricWithAlarmSupport, MinConsumerSubscribeToShardSuccessThreshold, Monitoring, MonitoringScope } from "../../common";
import { MonitoringHeaderWidget } from "../../dashboard";
export interface KinesisDataStreamConsumerMonitoringOptions extends BaseMonitoringProps {
    readonly addConsumerIteratorMaxAgeAlarm?: Record<string, MaxIteratorAgeThreshold>;
    readonly addConsumerSubscribeToShardRateExceededAlarm?: Record<string, ConsumerRateExceededThreshold>;
    readonly addConsumerSubscribeToShardSuccessAlarm?: Record<string, MinConsumerSubscribeToShardSuccessThreshold>;
}
export interface KinesisDataStreamConsumerMonitoringProps extends KinesisDataStreamConsumerMetricFactoryProps, KinesisDataStreamConsumerMonitoringOptions {
}
export declare class KinesisDataStreamConsumerMonitoring extends Monitoring {
    readonly title: string;
    readonly streamUrl?: string;
    readonly kinesisAlarmFactory: KinesisAlarmFactory;
    readonly ageAnnotations: HorizontalAnnotation[];
    readonly rateExceededAnnotations: HorizontalAnnotation[];
    readonly subscribeSuccessAnnotations: HorizontalAnnotation[];
    readonly millisBehindLatestMetric: MetricWithAlarmSupport;
    readonly rateExceededMetric: MetricWithAlarmSupport;
    readonly subscribeToShardSuccessMetric: MetricWithAlarmSupport;
    readonly subscribeToShardEventSuccessMetric: MetricWithAlarmSupport;
    readonly recordsMetric: MetricWithAlarmSupport;
    readonly bytesMetric: MetricWithAlarmSupport;
    constructor(scope: MonitoringScope, props: KinesisDataStreamConsumerMonitoringProps);
    summaryWidgets(): IWidget[];
    widgets(): IWidget[];
    createTitleWidget(): MonitoringHeaderWidget;
    createMillisBehindLatestWidget(width: number, height: number): GraphWidget;
    createSubscribeSuccessWidget(width: number, height: number): GraphWidget;
    createRateExceededWidget(width: number, height: number): GraphWidget;
    createRecordsWidget(width: number, height: number): GraphWidget;
    createBytesWidget(width: number, height: number): GraphWidget;
}
