import { type IDashboardParameter, type IDashboardTab, type IParameterMetadataObject } from "@gooddata/sdk-model";
import { type IDashboardParameterEntry } from "../../../store/tabs/parameters/parametersState.js";
/**
 * Builds the parameter slice entries from the dashboard's persisted parameters and the
 * workspace parameter catalog.
 *
 * - When the persisted entry has an explicit `value`, use it as `runtimeOverride`.
 * - Otherwise, look up the workspace default.
 * - When neither is available (catalog gated off / failed / ref missing), `runtimeOverride`
 *   stays `undefined` so the backend keeps using the parameter's own default at execution time.
 */
export declare function hydrateParameterEntries(dashboardParameters: IDashboardParameter[] | undefined, workspaceParameters: IParameterMetadataObject[]): IDashboardParameterEntry[];
/**
 * Distributes the dashboard's persisted parameters into per-tab hydrated entry lists, applying
 * the V1 → per-tab migration rule (see {@link pickTabParametersSource}). Each tab's parameter
 * list is hydrated against the workspace catalog via {@link hydrateParameterEntries}.
 *
 * For legacy single-tab dashboards (no `tabs[]`), a synthetic tab with `DEFAULT_TAB_ID` is used
 * so the V1 root-level `parameters` migrate transparently.
 *
 * `activeTabOverride` patches `runtimeOverride` on its named tab for refs that match an entry;
 * non-matching refs are silently ignored (see `overrideDefaultParameters` on DashboardConfig).
 */
export declare function distributeParametersToTabs(tabs: IDashboardTab[] | undefined, rootParameters: IDashboardParameter[] | undefined, workspaceParameters: IParameterMetadataObject[], activeTabOverride?: {
    tabId: string;
    overrides: IDashboardParameter[];
}): Record<string, IDashboardParameterEntry[]>;
//# sourceMappingURL=parameterHydration.d.ts.map