import { Alarm } from "aws-cdk-lib/aws-cloudwatch"; import type { IConstruct } from "constructs"; import type { AlarmDefinition } from "./alarm-definition.js"; /** * Creates CDK {@link Alarm} constructs from fully-resolved {@link AlarmDefinition}s. * * Validates that all definition keys are unique before creating alarms. Each * alarm's `AlarmName` is taken verbatim from `def.alarmName` when supplied; * otherwise it is derived from the scope, `id`, and `def.key` via * {@link defaultAlarmName}. * * Each alarm's construct id is `${id}${Capitalize(key)}Alarm`, unless the * definition supplies an explicit `constructId`, which is used verbatim (e.g. * to preserve an existing logical ID when grandfathering). * * @param scope - CDK construct scope. * @param id - Base identifier; each alarm's construct id is `${id}${Capitalize(key)}Alarm`. * @param definitions - Fully-resolved alarm definitions. * @returns A record mapping each definition's key to its created Alarm. * @throws If duplicate keys are found, or a supplied `constructId` is empty. */ export declare function createAlarms(scope: IConstruct, id: string, definitions: AlarmDefinition[]): Record; //# sourceMappingURL=create-alarms.d.ts.map