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";
export interface IUseEditAlertProps {
    alertToEdit?: IAutomationMetadataObject;
    notificationChannels: INotificationChannelIdentifier[] | INotificationChannelMetadataObject[];
    maxAutomationsRecipients: number;
    users: IWorkspaceUser[];
    widget?: IWidget;
    insight?: IInsight;
    editedAutomationFilters?: FilterContextItem[];
    setEditedAutomationFilters: (filters: FilterContextItem[]) => void;
    availableFiltersAsVisibleFilters?: IAutomationVisibleFilter[] | undefined;
    filtersForNewAutomation: FilterContextItem[];
    externalRecipientOverride?: string;
}
export declare function useEditAlert({ alertToEdit, notificationChannels, insight, widget, users, editedAutomationFilters, maxAutomationsRecipients, setEditedAutomationFilters, availableFiltersAsVisibleFilters, filtersForNewAutomation, externalRecipientOverride }: IUseEditAlertProps): {
    onTitleChange: (value: string, isValid: boolean) => void;
    onRecipientsChange: (updatedRecipients: IAutomationRecipient[]) => void;
    onFiltersChange: (filters: FilterContextItem[]) => void;
    onApplyCurrentFilters: () => void;
    automationParameters: import("../../../shared/automationFilters/automationParameters.js").IAutomationParameter[];
    availableParameters: import("../../../shared/automationFilters/automationParameters.js").IAutomationParameter[];
    onParameterChange: (ref: import("@gooddata/sdk-model").IdentifierRef, value: number) => void;
    onParameterDelete: (ref: import("@gooddata/sdk-model").IdentifierRef) => void;
    onParameterAdd: (ref: import("@gooddata/sdk-model").IdentifierRef) => void;
    dropStaleParameters: () => void;
    onMeasureChange: (measure: AlertMetric) => void;
    getAttributeValues: (attr: import("@gooddata/sdk-model").IAttributeMetadataObject) => import("./useAttributeValuesFromExecResults.js").AttributeValue[];
    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;
    onSensitivityChange: (sensitivity: IAlertAnomalyDetectionSensitivity) => void;
    onGranularityChange: (measure: AlertMetric | undefined, granularity: IAlertAnomalyDetectionGranularity) => void;
    onChange: (e: string | number, event?: import("react").ChangeEvent<HTMLInputElement> | undefined) => void;
    onBlur: (event: import("react").FocusEvent<HTMLInputElement, Element>) => void;
    onComparisonTypeChange: (measure: AlertMetric | undefined, relativeOperator: [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined, comparisonType: AlertMetricComparatorType, granularity?: DateAttributeGranularity | undefined) => void;
    onDestinationChange: (destinationId: string) => void;
    onTriggerModeChange: (triggerMode: IAlertTriggerMode) => void;
    onTriggerIntervalChange: (triggerInterval: IAlertTriggerInterval, dirty?: boolean) => void;
    selectedMeasure: AlertMetric | undefined;
    canChangeMeasure: boolean;
    supportedMeasures: AlertMetric[];
    canManageAttributes: boolean;
    selectedAttribute: AlertAttribute | undefined;
    selectedValue: string | null | undefined;
    supportedAttributes: AlertAttribute[];
    catalogAttributes: import("@gooddata/sdk-model").ICatalogAttribute[];
    catalogDateDatasets: import("@gooddata/sdk-model").ICatalogDateDataset[];
    isResultLoading: boolean;
    isInvalidConnectionToInsight: "" | boolean | undefined;
    selectedAiOperator: "AI.ANOMALY_DETECTION" | undefined;
    selectedSensitivity: IAlertAnomalyDetectionSensitivity | undefined;
    selectedGranularity: IAlertAnomalyDetectionGranularity | undefined;
    selectedComparisonOperator: IAlertComparisonOperator | undefined;
    selectedRelativeOperator: [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined;
    value: number | undefined;
    selectedComparator: import("../../types.js").AlertMetricComparator | undefined;
    canManageComparison: boolean;
    separators: import("@gooddata/sdk-model").ISeparators;
    warningMessage: string | undefined;
    defaultUser: IWorkspaceUser;
    originalAutomation: IAutomationMetadataObjectDefinition | undefined;
    editedAutomation: IAutomationMetadataObjectDefinition | undefined;
    allowOnlyLoggedUserRecipients: boolean;
    allowExternalRecipients: boolean;
    validationErrorMessage: string | undefined;
    isSubmitDisabled: boolean | undefined;
    isParentValid: boolean;
    thresholdErrorMessage: string | undefined;
    allowHourlyRecurrence: boolean;
};
//# sourceMappingURL=useEditAlert.d.ts.map