import { GraphWidget, HorizontalAnnotation, IWidget } from "aws-cdk-lib/aws-cloudwatch";
import { BaseMonitoringProps, MetricWithAlarmSupport, Monitoring, MonitoringScope, UsageAlarmFactory, UsageThreshold } from "../../common";
import { MonitoringHeaderWidget } from "../../dashboard";
import { DocumentDbMetricFactoryProps } from "./DocumentDbMetricFactory";
export interface DocumentDbMonitoringOptions extends BaseMonitoringProps {
    readonly addCpuUsageAlarm?: Record<string, UsageThreshold>;
}
export interface DocumentDbMonitoringProps extends DocumentDbMetricFactoryProps, DocumentDbMonitoringOptions {
}
export declare class DocumentDbMonitoring extends Monitoring {
    protected readonly title: string;
    protected readonly url?: string;
    protected readonly usageAlarmFactory: UsageAlarmFactory;
    protected readonly usageAnnotations: HorizontalAnnotation[];
    protected readonly cpuUsageMetric: MetricWithAlarmSupport;
    protected readonly readLatencyMetric: MetricWithAlarmSupport;
    protected readonly writeLatencyMetric: MetricWithAlarmSupport;
    protected readonly connectionsMetric: MetricWithAlarmSupport;
    protected readonly cursorsMetric: MetricWithAlarmSupport;
    protected readonly transactionsMetric: MetricWithAlarmSupport;
    protected readonly throttledMetric: MetricWithAlarmSupport;
    constructor(scope: MonitoringScope, props: DocumentDbMonitoringProps);
    summaryWidgets(): IWidget[];
    widgets(): IWidget[];
    protected createTitleWidget(): MonitoringHeaderWidget;
    protected createResourceUsageWidget(width: number, height: number): GraphWidget;
    protected createConnectionsWidget(width: number, height: number): GraphWidget;
    protected createTransactionsWidget(width: number, height: number): GraphWidget;
    protected createLatencyWidget(width: number, height: number): GraphWidget;
}
