import { type DateAttributeGranularity, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type ICatalogAttribute, type ICatalogDateDataset, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type ISeparators } from "@gooddata/sdk-model"; import { type IMeasureFormatMap } from "../../../../../automations/alerting/DefaultAlertingDialog/utils/getters.js"; import { type AlertAttribute, type AlertMetric, type AlertMetricComparatorType } from "../../../../../automations/alerting/types.js"; export interface IUseEditAlertProps { metrics: AlertMetric[]; attributes: AlertAttribute[]; alert: IAutomationMetadataObject; measureFormatMap: IMeasureFormatMap; catalogAttributes: ICatalogAttribute[]; catalogDateDatasets: ICatalogDateDataset[]; destinations: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[]; separators?: ISeparators; onCreate?: (alert: IAutomationMetadataObjectDefinition) => void; onUpdate?: (alert: IAutomationMetadataObject) => void; } export declare const useEditAlert: ({ metrics, attributes, alert, onCreate, onUpdate, measureFormatMap, destinations, separators, }: IUseEditAlertProps) => { defaultUser: import("@gooddata/sdk-model").IWorkspaceUser; viewMode: "configuration" | "edit"; updatedAlert: IAutomationMetadataObject; canSubmit: boolean | undefined; allowOnlyLoggedUserRecipients: boolean; allowExternalRecipients: boolean; warningMessage: string | undefined; allowHourlyRecurrence: boolean; enableAnomalyDetectionAlert: boolean; changeComparisonOperator: (measure: AlertMetric, comparisonOperator: IAlertComparisonOperator) => void; changeAnomalyDetection: (measure: AlertMetric) => void; changeRelativeOperator: (measure: AlertMetric, relativeOperator: IAlertRelativeOperator, arithmeticOperator: IAlertRelativeArithmeticOperator) => void; changeMeasure: (measure: AlertMetric) => void; changeAttribute: (attribute: AlertAttribute | undefined, value: { title: string; value: string; name: string; } | undefined) => void; changeValue: (value: number) => void; changeTitle: (value: string | undefined) => void; changeDestination: (destinationId: string) => void; changeComparisonType: (measure: AlertMetric | undefined, relativeOperator: [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined, comparisonType: AlertMetricComparatorType, granularity?: DateAttributeGranularity | undefined) => void; changeRecipients: (recipients: IAutomationRecipient[]) => void; changeSensitivity: (value: IAlertAnomalyDetectionSensitivity) => void; changeGranularity: (measure: AlertMetric | undefined, value: IAlertAnomalyDetectionGranularity) => void; configureAlert: () => void; saveAlertConfiguration: (alert: IAutomationMetadataObject) => void; cancelAlertConfiguration: () => void; createAlert: () => void; updateAlert: () => void; }; //# sourceMappingURL=useEditAlert.d.ts.map