import { ErrorAlarmFactory, ErrorCountThreshold, ErrorRateThreshold } from "./ErrorAlarmFactory";
import { AlarmFactory, CustomAlarmThreshold } from "../../alarm";
import { MetricWithAlarmSupport } from "../../metric";
export interface MaxDowntimeThreshold extends CustomAlarmThreshold {
    readonly maxDowntimeInMillis: number;
}
export interface FullRestartCountThreshold extends CustomAlarmThreshold {
    readonly maxFullRestartCount: number;
}
export interface MaxBackPressuredTimeMsPerSecondThreshold extends CustomAlarmThreshold {
    readonly maxBackPressuredTimeMsPerSecond: number;
}
export declare class KinesisDataAnalyticsAlarmFactory {
    protected readonly alarmFactory: AlarmFactory;
    protected readonly errorAlarmFactory: ErrorAlarmFactory;
    constructor(alarmFactory: AlarmFactory);
    addDowntimeAlarm(metric: MetricWithAlarmSupport, props: MaxDowntimeThreshold, disambiguator?: string): import("../../alarm").AlarmWithAnnotation;
    addFullRestartAlarm(metric: MetricWithAlarmSupport, props: FullRestartCountThreshold, disambiguator?: string): import("../../alarm").AlarmWithAnnotation;
    addFullRestartRateAlarm(metric: MetricWithAlarmSupport, props: ErrorRateThreshold, disambiguator?: string): import("../../alarm").AlarmWithAnnotation;
    addBackPressuredTimeMsPerSecondAlarm(metric: MetricWithAlarmSupport, props: MaxBackPressuredTimeMsPerSecondThreshold, disambiguator?: string): import("../../alarm").AlarmWithAnnotation;
    addCheckpointFailureCountAlarm(metric: MetricWithAlarmSupport, props: ErrorCountThreshold, disambiguator?: string): import("../../alarm").AlarmWithAnnotation;
    addCheckpointFailureRateAlarm(metric: MetricWithAlarmSupport, props: ErrorRateThreshold, disambiguator?: string): import("../../alarm").AlarmWithAnnotation;
}
