import type { DashboardAttributeFilterSelectionType, DateFilterGranularity, FilterContextItem, IAttributeDisplayFormMetadataObject, ICatalogAttribute, ICatalogDateAttribute, ICatalogDateDataset, ICatalogMeasure, IDashboardAttributeFilterConfig, IDashboardDateFilterConfig, IDashboardDateFilterConfigItem, IDashboardMeasureValueFilterConfig, ISeparators, ISettings, IUser, ObjRef, WeekStart } from "@gooddata/sdk-model"; import type { ILocale } from "@gooddata/sdk-ui"; import type { IDateFilterOptionsByType } from "@gooddata/sdk-ui-filters"; import type { IAutomationFiltersTab } from "../../../model/store/filtering/types.js"; /** * Date filter configuration provided by the dashboard connector so that AutomationDateFilter * does not need to read dashboard selectors directly. */ export interface IAutomationsDateFilterConfig { availableGranularities: DateFilterGranularity[]; dateFilterOptions: IDateFilterOptionsByType; getGranularitiesForTab: (tabId: string) => DateFilterGranularity[]; getOptionsForTab: (tabId: string) => IDateFilterOptionsByType | undefined; } /** * Main context shared across all automation dialogs. * Only fields actively consumed by migrated leaves are listed here — add fields as each leaf migrates. */ export interface IAutomationsContextValue { locale: ILocale; separators: ISeparators; settings?: ISettings; catalogAttributes: ICatalogAttribute[]; catalogDateDatasets: ICatalogDateDataset[]; catalogMeasures: ICatalogMeasure[]; dateFilterConfig: IAutomationsDateFilterConfig; dateFilterContextConfig: IDashboardDateFilterConfig | undefined; attributeFilterConfigs: IDashboardAttributeFilterConfig[]; attributeFilterConfigsByTab: Record; attributeFilterSelectionTypeMap: Map; attributeFilterSelectionTypeMapByTab: Record>; dateFilterConfigs: IDashboardDateFilterConfigItem[]; dateFilterConfigsByTab: Record; dateFilterConfigOverridesByTab: Record; measureValueFilterConfigs: IDashboardMeasureValueFilterConfig[]; measureValueFilterConfigsByTab: Record; commonDateFilterId: string | undefined; lockedFilters: FilterContextItem[]; hiddenFilters: FilterContextItem[]; availableFilters: FilterContextItem[]; automationFiltersByTab: IAutomationFiltersTab[]; defaultSelectedFilters: FilterContextItem[]; automationAvailableFilters: FilterContextItem[]; maxAutomationsRecipients: number; isExecutionTimestampMode: boolean; allowHourlyRecurrence: boolean; currentUser: IUser; weekStart: WeekStart; timezone: string | undefined; isWhiteLabeled: boolean; isSecondaryTitleVisible: boolean; externalRecipient: string | undefined; features: { canCreateAutomation: boolean; enableAlertOncePerInterval: boolean; enableAnomalyDetectionAlert: boolean; canUseAiAssistant: boolean; canManageWorkspace: boolean; enableSlideshowExports: boolean; enableAutomationEvaluationMode: boolean; }; getCatalogAttributeByRef: (ref: ObjRef) => ICatalogAttribute | ICatalogDateAttribute | undefined; getAttributeFilterDisplayForm: (displayForm: ObjRef) => IAttributeDisplayFormMetadataObject | undefined; /** * Element ID to return focus to when the scheduled-email dialog closes. * Shared by both the create/edit dialog and the management dialog tree via * useScheduleEmailDialogAccessibility. */ scheduleEmailDialogReturnFocusTo?: string; /** * Returns true when a widget with the given ref still exists on the dashboard layout. * Bridges identifier↔URI mismatches the same way as selectWidgetByRef. * NOTE: do NOT narrow to isWidget() here — this is a pure existence check on the ObjRefMap. */ widgetExistsByRef: (ref: ObjRef | undefined) => boolean; } export declare const AutomationsContextProvider: import("react").Provider; export declare function useAutomationsContext(): IAutomationsContextValue; //# sourceMappingURL=AutomationsContext.d.ts.map