import { type IntlShape } from "react-intl";
import { type IExecutionResult } from "@gooddata/sdk-backend-spi";
import { type DateAttributeGranularity, type IAlertAnomalyDetectionGranularity, type IAlertAnomalyDetectionSensitivity, type IAlertComparisonOperator, type IAlertRelativeArithmeticOperator, type IAlertRelativeOperator, type IAttribute, type IAttributeMetadataObject, type IAutomationAlert, type IAutomationMetadataObject, type ICatalogAttribute, type ICatalogDateAttribute, type ICatalogDateDataset, type IFilter, type IMeasure, type ISeparators, type ObjRef } from "@gooddata/sdk-model";
import { AI_OPERATOR, AI_OPERATORS } from "@gooddata/sdk-ui-ext";
import { type AlertAttribute, type AlertMetric, type AlertMetricComparator } from "../../types.js";
export type IMeasureFormatMap = {
    [key: string]: string;
};
/**
 * @internal
 */
export declare function getMeasureFormat(measure: IMeasure | undefined, measureFormatMap?: IMeasureFormatMap): string;
/**
 * @internal
 */
export declare function getAttributeRelatedFilterInfo(attributes: AlertAttribute[], alert?: IAutomationMetadataObject, attr?: IAttribute): {
    attribute: AlertAttribute | undefined;
    filterDefinition: IFilter | undefined;
    filterValue: string | null | undefined;
};
/**
 * @internal
 */
export declare function getMeasureTitle(measure: IMeasure): string | undefined;
/**
 * @internal
 */
export declare function getAttributeTitle(attribute: IAttribute): string | undefined;
/**
 * @internal
 */
export declare function getOperatorTitle(intl: IntlShape, alert?: IAutomationAlert): string;
/**
 * @internal
 */
export declare function getValueSuffix(alert?: IAutomationAlert): string | undefined;
/**
 * @internal
 */
export declare function getAlertThreshold(alert?: IAutomationAlert): number | undefined;
/**
 * @internal
 */
export declare function getAlertMeasure(measures: AlertMetric[], alert?: IAutomationAlert): AlertMetric | undefined;
/**
 * @internal
 */
export declare function getAlertMeasureFormat(alert?: IAutomationAlert): string | undefined;
/**
 * @internal
 */
export declare function getAlertComparison(measure: AlertMetric | undefined, alert?: IAutomationAlert): AlertMetricComparator | undefined;
/**
 * @internal
 */
export declare function getAlertAttribute(attributes: AlertAttribute[], alert?: IAutomationMetadataObject): [AlertAttribute | undefined, string | null | undefined];
/**
 * @internal
 */
export declare function getAlertFilters(alert?: IAutomationMetadataObject): IFilter[];
/**
 * @internal
 */
export declare function getAlertCompareOperator(alert?: IAutomationAlert): IAlertComparisonOperator | undefined;
/**
 * @internal
 */
export declare function getAlertRelativeOperator(alert?: IAutomationAlert): [IAlertRelativeOperator, IAlertRelativeArithmeticOperator] | undefined;
/**
 * @internal
 */
export declare function getAlertAiOperator(alert?: IAutomationAlert): `${typeof AI_OPERATOR}.${typeof AI_OPERATORS.ANOMALY_DETECTION}` | undefined;
/**
 * @internal
 */
export declare function getAlertSensitivity(alert?: IAutomationAlert): IAlertAnomalyDetectionSensitivity | undefined;
/**
 * @internal
 */
export declare function getAlertGranularity(alert?: IAutomationAlert): IAlertAnomalyDetectionGranularity | undefined;
/**
 * @internal
 */
export declare function getSelectedCatalogAttribute(catalogAttributes: ICatalogAttribute[], catalogDateDatasets: ICatalogDateDataset[], attribute: AlertAttribute): {
    ref: ObjRef;
    id: string;
    uri: string;
    description: string;
    tags?: string[] | undefined;
    production: boolean;
    deprecated: boolean;
    unlisted: boolean;
    isHidden?: boolean | undefined;
    isHiddenFromKda?: boolean | undefined;
    type: "attribute";
    isLocked?: boolean | undefined;
    dataSet?: import("@gooddata/sdk-model").IDataSetMetadataObject | undefined;
    drillDownStep?: ObjRef | undefined;
    drillToAttributeLink?: ObjRef | undefined;
    displayForms: import("@gooddata/sdk-model").IAttributeDisplayFormMetadataObject[];
    sourceColumn?: string | undefined;
    title: string;
} | undefined;
/**
 * @internal
 */
export declare function getSelectedCatalogAttributeValue(attribute: IAttributeMetadataObject | undefined, getAttributeValue: (attr: IAttributeMetadataObject) => {
    title: string;
    value: string;
    name: string;
}[], selectedValue: string | null | undefined): {
    title: string;
    value: string;
    name: string;
} | undefined;
/**
 * @internal
 */
export declare function getCatalogAttribute<T extends ICatalogDateAttribute | ICatalogAttribute>(attributes: T[], attribute: IAttribute): T | undefined;
export declare function getFiltersAttribute(datasetsWithGranularity: [ObjRef, DateAttributeGranularity][], dataset: ICatalogDateDataset): ICatalogDateAttribute[];
/**
 * Prepare a mapping between measure identifiers and measure formats.
 * Obtain the information from the execution result measure group dimension headers.
 * @internal
 */
export declare function getMeasureFormatsFromExecution(execResult: IExecutionResult | undefined): IMeasureFormatMap;
export declare function getDescription(intl: IntlShape, measures: AlertMetric[], alert?: IAutomationMetadataObject, separators?: ISeparators): string;
export declare function getSubtitle(intl: IntlShape, widgetName: string, alert: IAutomationMetadataObject, separators?: ISeparators): string;
//# sourceMappingURL=getters.d.ts.map