import { type PayloadAction } from "@reduxjs/toolkit";
import { type SagaIterator } from "redux-saga";
import { type IAttributeDisplayFormMetadataObject, type IDashboard, type IDashboardAttributeFilter, type IDashboardAttributeFilterConfig, type IDataSetMetadataObject, type IDateFilterConfig, type IFilterContextDefinition, type IInsight, type IParameterMetadataObject, type ISettings, type ObjRef } from "@gooddata/sdk-model";
import { type ObjRefMap } from "../../../../_staging/metadata/objRefMap.js";
import { type DashboardContext } from "../../../types/commonTypes.js";
export declare function actionsToInitializeNewDashboard(ctx: DashboardContext, settings: ISettings, dateFilterConfig: IDateFilterConfig, displayForms?: ObjRefMap<IAttributeDisplayFormMetadataObject>, initialTabId?: string, workspaceParameters?: IParameterMetadataObject[]): SagaIterator<{
    initActions: Array<PayloadAction<any>>;
    dashboard: IDashboard | undefined;
    insights: IInsight[];
}>;
export declare function loadDataSets(ctx: DashboardContext, dataSetRefs: ObjRef[]): Promise<IDataSetMetadataObject[]>;
/**
 * Returns a list of actions which when processed will initialize filter context, layout and meta parts
 * of the state for an existing dashboard.
 *
 * This generator will perform the essential cleanup, sanitization and resolution on top of of the input
 * dashboard and use the sanitized values to initialize the state:
 *
 * -  Layout sizing sanitization happens here
 * -  Resolution of attribute filter display forms happens here (this may be async)
 *
 * @param ctx - dashboard context in which the initialization is done
 * @param dashboard - dashboard to create initialization actions for
 * @param insights - insights used on the dashboard; note that this function will not create actions to store
 *  these insights in the state; it uses the insights to perform sanitization of the dashboard layout
 * @param settings - settings currently in effect; note that this function will not create actions to store
 *  the settings in the state; it uses the settings during layout sanitization
 * @param isImmediateAttributeFilterMigrationEnabled - enables transfer of changes made to the dashboard and
 *  its filter context in view mode to the edit mode.
 * @param originalFilterContextDefinition - original filter definition that should be used instead of the
 *  one taken from the persisted dashboard ("dashboard" parameter of this function). It contains ad-hoc
 *  migrated attribute filters in state right after the migration, before potential user change to selection.
 *  If not provided, the filter context from persisted dashboard will be used.
 * @param migratedAttributeFilters - ad-hoc migrated attribute filters in view mode that must be applied to
 *  the dashboard so user can save these changes (persisted dashboard state remains as is).
 * @param migratedAttributeFilterConfigs - ad-hoc migrated attribute filter configs in view mode that must be
 *  applied to the dashboard so user can save these changes (persisted dashboard state remains as is).
 * @param effectiveDateFilterConfigMap - effective date filter config to use; note that this function will not store
 *  the date filter config anywhere; it uses the config during filter context sanitization & determining
 *  which date option is selected
 * @param dateDataSets - all catalog date datasets used to validate date filters. May not be given when
 *  catalog load is being deferred
 * @param displayForms - specify display forms that should be used for in-memory resolution of
 *  attribute filter display forms to metadata objects
 * @param persistedDashboard - dashboard to use for the persisted dashboard state slice in case it needs to be different from the dashboard param
 */
export declare function actionsToInitializeExistingDashboard(ctx: DashboardContext, dashboard: IDashboard, insights: IInsight[], settings: ISettings, isImmediateAttributeFilterMigrationEnabled: boolean, originalFilterContextDefinition: Record<string, IFilterContextDefinition | undefined> | undefined, migratedAttributeFilters: Record<string, IDashboardAttributeFilter[]> | undefined, migratedAttributeFilterConfigs: Record<string, IDashboardAttributeFilterConfig[]>, effectiveDateFilterConfigMap: Record<string, IDateFilterConfig>, tabsDateFilterConfigSource: Record<string, "dashboard" | "workspace">, displayForms?: ObjRefMap<IAttributeDisplayFormMetadataObject>, persistedDashboard?: IDashboard, activeTabLocalIdentifier?: string, workspaceParameters?: IParameterMetadataObject[]): SagaIterator<Array<PayloadAction<any>>>;
//# sourceMappingURL=stateInitializers.d.ts.map