import { type FilterContextItem, type IAutomationMetadataObject, type IAutomationMetadataObjectDefinition, type IAutomationRecipient, type IDashboardExportParameter, type IExportDefinitionMetadataObject, type IExportDefinitionMetadataObjectDefinition, type IFilter, type IInsightParameterValue, type IUser, type IWorkspaceUser } from "@gooddata/sdk-model";
export declare const isDashboardAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
export declare const isVisualisationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
export declare const isCsvVisualizationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
export declare const isCsvVisualizationExportDefinition: (exportDefinition: IExportDefinitionMetadataObject | IExportDefinitionMetadataObjectDefinition | undefined) => boolean;
export declare const isXlsxVisualizationAutomation: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => boolean | undefined;
export declare const isXlsxVisualizationExportDefinition: (exportDefinition: IExportDefinitionMetadataObject | IExportDefinitionMetadataObjectDefinition | undefined) => boolean;
export declare const getAutomationDashboardFilters: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => FilterContextItem[] | undefined;
/**
 * Extracts dashboard filters structured by tab from automation metadata object.
 * Returns filtersByTab from the first dashboard export definition.
 */
export declare const getAutomationDashboardFiltersByTab: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => Record<string, FilterContextItem[]> | undefined;
/**
 * Extracts the per-tab parameter overrides from automation metadata. All export definitions carry
 * the same `content.parametersByTab`, so the first dashboard or visualization-object definition
 * that has them wins.
 */
export declare const getAutomationExportParametersByTab: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => Record<string, IDashboardExportParameter[]> | undefined;
/**
 * Returns a copy of the automation with `content.parametersByTab` replaced on every dashboard and
 * visualization-object export definition. Passing `undefined` clears the field (the store-filters
 * off path). No-op when the automation carries no export definitions. Write-side counterpart of
 * {@link getAutomationExportParametersByTab}.
 */
export declare function setExportParametersByTab(automation: IAutomationMetadataObjectDefinition, parametersByTab: Record<string, IDashboardExportParameter[]> | undefined): IAutomationMetadataObjectDefinition;
/**
 * Converts stored export parameter overrides ({@link IDashboardExportParameter}, value carried as a
 * string) to {@link IInsightParameterValue} runtime values. Non-finite values are dropped.
 */
export declare function exportParametersToValues(stored: IDashboardExportParameter[]): IInsightParameterValue[];
export declare const getAutomationVisualizationFilters: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => {
    executionFilters: IFilter[] | undefined;
    filterContextItems: FilterContextItem[] | undefined;
};
export declare const getAutomationAlertFilters: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => IFilter[] | undefined;
/**
 * Extracts the parameter overrides stored on an alert. Unlike export schedules (per-tab
 * `content.parametersByTab`), alerts keep a flat {@link IInsightParameterValue} list at
 * `alert.execution.parameters`. Mirrors {@link getAutomationAlertFilters}.
 */
export declare const getAutomationAlertParameters: (automation: IAutomationMetadataObject | IAutomationMetadataObjectDefinition | undefined) => IInsightParameterValue[] | undefined;
export declare const areAutomationsEqual: (originalAutomation: IAutomationMetadataObjectDefinition, updatedAutomation: IAutomationMetadataObjectDefinition) => boolean;
export declare const convertCurrentUserToAutomationRecipient: (users: IWorkspaceUser[], user: IUser) => IAutomationRecipient;
export declare const convertCurrentUserToWorkspaceUser: (users: IWorkspaceUser[], user: IUser) => IWorkspaceUser;
export declare const convertUserToAutomationRecipient: (user: IUser) => IAutomationRecipient;
export declare const convertExternalRecipientToAutomationRecipient: (externalRecipient: string) => IAutomationRecipient;
//# sourceMappingURL=index.d.ts.map