import { type DateAttributeGranularity, type FilterContextItem, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAlertTriggerInterval, type IAlertTriggerMode, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IAutomationVisibleFilter, type IInsight, type INotificationChannelIdentifier, type INotificationChannelMetadataObject, type IWidget, type IWorkspaceUser } from "@gooddata/sdk-model"; import { type AlertAttribute, type AlertMetric, type AlertMetricComparatorType } from "../../types.js"; import { type IMeasureFormatMap } from "../utils/getters.js"; /** * Props for {@link useAlertFormState}. * @internal */ export interface IUseAlertFormStateProps { alertToEdit?: IAutomationMetadataObject; insight?: IInsight; widget?: IWidget; notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[]; users: IWorkspaceUser[]; editedAutomationFilters?: FilterContextItem[]; availableFiltersAsVisibleFilters?: IAutomationVisibleFilter[] | undefined; externalRecipientOverride?: string; supportedMeasures: AlertMetric[]; supportedAttributes: AlertAttribute[]; measureFormatMap: IMeasureFormatMap; } /** * Owns the alerting dialog's editable state: the `editedAutomation` draft (initialized either * from `alertToEdit` or via `createDefaultAlert`), its `originalAutomation` baseline, the * automation's execution parameters, and the form's change-handlers and local UI state. * * Dashboard configuration (`weekStart`, `timezone`, `enableAlertOncePerInterval`, `currentUser`) * is read from {@link useAutomationsContext} and {@link useAlertingDialogContext} rather than * passed in as props. All other inputs are params, except `intl`, which is read via `useIntl()`. * * @internal */ export declare function useAlertFormState({ alertToEdit, insight, widget, notificationChannels, users, editedAutomationFilters, availableFiltersAsVisibleFilters, externalRecipientOverride, supportedMeasures, supportedAttributes, measureFormatMap }: IUseAlertFormStateProps): { editedAutomation: IAutomationMetadataObjectDefinition | undefined; setEditedAutomation: import("react").Dispatch>; originalAutomation: IAutomationMetadataObjectDefinition | undefined; defaultUser: IWorkspaceUser; defaultRecipient: IAutomationRecipient; automationParameters: import("../../../shared/automationFilters/automationParameters.js").IAutomationParameter[]; availableParameters: import("../../../shared/automationFilters/automationParameters.js").IAutomationParameter[]; onParameterChange: (ref: import("@gooddata/sdk-model").IdentifierRef, value: string | number) => void; onParameterDelete: (ref: import("@gooddata/sdk-model").IdentifierRef) => void; onParameterAdd: (ref: import("@gooddata/sdk-model").IdentifierRef) => void; dropStaleParameters: () => void; onTitleChange: (value: string, isValid: boolean) => void; onMeasureChange: (measure: AlertMetric) => void; onAttributeChange: (attribute: AlertAttribute | undefined, value: { title: string; value: string; name: string; } | undefined) => void; onComparisonOperatorChange: (measure: AlertMetric, comparisonOperator: IAlertComparisonOperator) => void; onRelativeOperatorChange: (measure: AlertMetric, relativeOperator: IAlertRelativeOperator, arithmeticOperator: IAlertRelativeArithmeticOperator) => void; onAnomalyDetectionChange: (measure: AlertMetric) => void; onComparisonTypeChange: (measure: AlertMetric | undefined, relativeOperator: [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined, comparisonType: AlertMetricComparatorType, granularity?: DateAttributeGranularity | undefined) => void; onSensitivityChange: (sensitivity: IAlertAnomalyDetectionSensitivity) => void; onTriggerIntervalChange: (triggerInterval: IAlertTriggerInterval, dirty?: boolean) => void; onGranularityChange: (measure: AlertMetric | undefined, granularity: IAlertAnomalyDetectionGranularity) => void; onDestinationChange: (destinationId: string) => void; onTriggerModeChange: (triggerMode: IAlertTriggerMode) => void; onRecipientsChange: (updatedRecipients: IAutomationRecipient[]) => void; warningMessage: string | undefined; isTitleValid: boolean; }; //# sourceMappingURL=useAlertFormState.d.ts.map