import { IAlarmActionStrategy } from "./action"; export interface AlarmNamingInput { readonly action?: IAlarmActionStrategy; readonly alarmNameSuffix: string; readonly alarmNameOverride?: string; readonly alarmDedupeStringSuffix?: string; readonly dedupeStringOverride?: string; readonly disambiguator?: string; } /** * Strategy used to name alarms, their widgets, and their dedupe strings. */ export interface IAlarmNamingStrategy { /** * How to generate the name of an alarm. * * @param props AlarmNamingInput */ getName(props: AlarmNamingInput): string; /** * How to generate the label for the alarm displayed on a widget. * * @param props AlarmNamingInput */ getWidgetLabel(props: AlarmNamingInput): string; /** * How to generate the deduplication string for an alarm. */ getDedupeString(props: AlarmNamingInput): string | undefined; }