declare const alarmNameBrand: unique symbol; /** * A validated CloudWatch alarm name. Construct via {@link alarmName} or * {@link joinAlarmName}; the brand prevents bare strings from being passed * where an `AlarmName` is required. * * A name holding an unresolved CDK token is branded unchecked (ADR-0010 rule 6). */ export type AlarmName = string & { readonly [alarmNameBrand]: true; }; /** Validates a CloudWatch alarm name against {@link ALARM_NAME}. @throws on invalid input. */ export declare function validateAlarmName(value: string): void; /** * Validates and brands a string as an {@link AlarmName}. Surrounding whitespace * is trimmed, then the value is used verbatim — so what the caller writes is * exactly what appears in CloudWatch. * * @throws If the input is empty, exceeds 255 chars, or contains characters * outside CloudWatch's allowed set. */ export declare function alarmName(input: string): AlarmName; /** * Builds an {@link AlarmName} by kebab-casing each segment and joining with * `sep`. Empty segments after kebab-casing are dropped. A segment holding an * unresolved CDK token is kept verbatim: kebab-casing would corrupt the token. */ export declare function joinAlarmName(segments: readonly string[], sep?: string): AlarmName; /** * Lower-cases and hyphenates a string: splits camelCase / PascalCase / * snake_case / dotted boundaries into hyphen-separated lowercase words. */ export declare function kebab(input: string): string; export {}; //# sourceMappingURL=alarm-name.d.ts.map