import { type DateAttributeGranularity, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAutomationAlertCondition, type IAutomationAlertExecutionDefinition, type IAutomationMetadataObject, type IAutomationRecipient, type WeekStart } from "@gooddata/sdk-model"; import { type AlertAttribute, type AlertMetric, type AlertMetricComparator, AlertMetricComparatorType } from "../../types.js"; import { type IMeasureFormatMap } from "./getters.js"; /** * This function transforms alert by metric. It changes title, condition and execution based on selected metric. * @param metrics - all available metrics * @param alert - alert to transform * @param measure - selected metric * @param measureFormatMap - all available measures from catalog * @param weekStart - week start for relative date filter * @param timezone - timezone for relative date filter */ export declare function transformAlertByMetric(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, measureFormatMap?: IMeasureFormatMap, weekStart?: WeekStart, timezone?: string): IAutomationMetadataObject; /** * This function get selected attributed and optionally value amd added this attribute to execution. * If value is provided, it creates positive attribute filter with this value, otherwise it creates negative attribute filter * that is empty for now. * @param attributes - all available attributes * @param alert - alert to transform * @param attr - optionally selected attribute * @param value - optionally selected value */ export declare function transformAlertByAttribute(attributes: AlertAttribute[], alert: IAutomationMetadataObject, attr: AlertAttribute | undefined, value: { title: string; value: string; name: string; } | undefined): IAutomationMetadataObject; /** * This function transforms alert by comparison operator. It changes operator in condition. * @param metrics - all available metrics * @param alert - alert to transform * @param measure - selected metric * @param comparisonOperator - selected comparison operator */ export declare function transformAlertByComparisonOperator(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, comparisonOperator: IAlertComparisonOperator): IAutomationMetadataObject; /** * This function transforms alert by relative operator. It changes operator in condition and measure in condition. * @param metrics - all available metrics * @param alert - alert to transform * @param measure - selected metric * @param relativeOperator - selected relative operator * @param arithmeticOperator - selected arithmetic operator * @param measureFormatMap - all available measures from catalog * @param comparatorType - selected comparator type * @param granularity - selected granularity */ export declare function transformAlertByRelativeOperator(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, relativeOperator: IAlertRelativeOperator, arithmeticOperator: IAlertRelativeArithmeticOperator, measureFormatMap?: IMeasureFormatMap, comparatorType?: AlertMetricComparatorType, granularity?: DateAttributeGranularity): IAutomationMetadataObject; export declare function transformAlertByAnomalyDetection(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, weekStart?: WeekStart, timezone?: string, enableAlertOncePerInterval?: boolean): IAutomationMetadataObject; /** * This function transforms alert by threshold value. It changes threshold in condition. * @param alert - alert to transform * @param value - selected threshold value */ export declare function transformAlertByValue(alert: IAutomationMetadataObject, value: number): IAutomationMetadataObject; /** * This function transforms alert by title. It changes title of alert. * @param alert - alert to transform * @param title - title of alert */ export declare function transformAlertByTitle(alert: IAutomationMetadataObject, title: string | undefined): IAutomationMetadataObject; /** * This function transforms alert by notification channel. It changes notification channel in alert. * @param alert - alert to transform * @param notificationChannel - selected notification channel * @param recipients - optionally selected recipients */ export declare function transformAlertByDestination(alert: IAutomationMetadataObject, notificationChannel: string, recipients?: IAutomationRecipient[]): IAutomationMetadataObject; /** * This function transforms alert execution by metric. It changes measures and auxMeasures in execution based on selected metric. * @param metrics - all available metrics * @param alert - alert * @param condition - alert condition * @param measure - selected metric * @param periodMeasure - alert comparison */ export declare function transformAlertExecutionByMetric(metrics: AlertMetric[], alert: Partial, condition: IAutomationAlertCondition, measure: AlertMetric, periodMeasure: AlertMetricComparator | undefined): { execution: IAutomationAlertExecutionDefinition; metadata: IAutomationMetadataObject["metadata"]; }; export declare function transformAlertBySensitivity(alert: IAutomationMetadataObject, sensitivity: IAlertAnomalyDetectionSensitivity): IAutomationMetadataObject; export declare function transformAlertByGranularity(metrics: AlertMetric[], alert: IAutomationMetadataObject, measure: AlertMetric, granularity: IAlertAnomalyDetectionGranularity, weekStart?: WeekStart): IAutomationMetadataObject; //# sourceMappingURL=transformation.d.ts.map