import { IAlarmAction } from "aws-cdk-lib/aws-cloudwatch";
import { ITopic } from "aws-cdk-lib/aws-sns";
import { CustomAlarmThreshold } from "cdk-monitoring-constructs";
import { Duration } from "aws-cdk-lib";
import { AlarmsCategoryOptions, AlarmsOptions } from "./alarms-base";
export declare class AlarmHelper {
    /**
     * Helper function to combine an array if IAlarmAction and ITopic objects into a single IAlarmAction array.
     *
     * @param actions the actions
     * @param topics the topics
     */
    static combineActions(actions?: IAlarmAction[], topics?: ITopic[]): IAlarmAction[];
    /**
     * Helper function to generate categorized alarms.
     *
     * @param options the AlarmsOptions instance
     * @param oprop property from the AlarmsCategoryOptions instance
     * @param tprop property from the CustomAlarmThreshold instance
     * @param defaultCriticalThreshold optional default value for the critical threshold
     * @param defaultWarningThreshold optional default value for the warning threshold
     */
    static toRecord<O extends AlarmsCategoryOptions, T extends CustomAlarmThreshold>(options: AlarmsOptions<O>, oprop: keyof O, tprop: keyof T, defaultCriticalThreshold?: number | Duration, defaultWarningThreshold?: number | Duration): Record<string, T> | undefined;
}
