import { Construct } from "constructs";
import { Duration } from "aws-cdk-lib";
import { ITable } from "aws-cdk-lib/aws-dynamodb";
import { AlarmsBase, AlarmsCategoryOptions, AlarmsOptions } from "../../aws-monitoring";
/**
 * Category options for CloudWatch alarms for DynamoDB Tables.
 */
export interface TableAlarmsCategoryOptions extends AlarmsCategoryOptions {
    readonly maxConsumedReadCapacity?: number;
    readonly maxConsumedWriteCapacity?: number;
    readonly maxReadThrottledEventsCount?: number;
    readonly maxWriteThrottledEventsCount?: number;
    readonly maxSystemErrorCount?: number;
    readonly averageSuccessfulGetRecordsLatency?: Duration;
    readonly averageSuccessfulQueryLatency?: Duration;
    readonly averageSuccessfulScanLatency?: Duration;
    readonly averageSuccessfulPutItemLatency?: Duration;
    readonly averageSuccessfulGetItemLatency?: Duration;
    readonly averageSuccessfulUpdateItemLatency?: Duration;
    readonly averageSuccessfulDeleteItemLatency?: Duration;
    readonly averageSuccessfulBatchGetItemLatency?: Duration;
    readonly averageSuccessfulBatchWriteItemLatency?: Duration;
}
/**
 * Options for TableAlarms
 */
export interface TableAlarmsOptions extends AlarmsOptions<TableAlarmsCategoryOptions> {
}
/**
 * Properties for TableAlarms
 */
export interface TableAlarmsProps extends TableAlarmsOptions {
    /**
     * The table to create alarms for.
     */
    readonly table: ITable;
}
/**
 * Creates CloudWatch alarms for DynamoDB Tables.
 */
export declare class TableAlarms extends AlarmsBase<TableAlarmsCategoryOptions, TableAlarmsProps> {
    constructor(scope: Construct, id: string, props: TableAlarmsProps);
    addGlobalSecondaryIndexMonitoring(indexName: string): void;
}
