import { type DashboardAttributeFilterConfigMode, type DashboardAttributeFilterSelectionType, type IDashboardAttributeFilterConfig, type ObjRef } from "@gooddata/sdk-model";
import { type DashboardSelector } from "../../types.js";
/**
 * Returns attribute filter config overrides keyed by tab identifier.
 *
 * @internal
 */
export declare const selectAttributeFilterConfigsOverridesByTab: DashboardSelector<Record<string, IDashboardAttributeFilterConfig[]>>;
/**
 * Returns attribute filter configs that is specified on the loaded dashboard.
 *
 * The dashboard-level attribute filter configuration MAY contain overrides and additional configuration to apply
 * on top of the workspace-level attribute filter config. If the dashboard-level overrides are not specified, then
 * the workspace-level config should be taken as-is.
 *
 * @alpha
 */
export declare const selectAttributeFilterConfigsOverrides: DashboardSelector<IDashboardAttributeFilterConfig[]>;
/**
 * Get a map of attribute filter modes directly from dashboard attribute filter configurations.
 *
 * @alpha
 */
export declare const selectAttributeFilterConfigsModeMap: DashboardSelector<Map<string, DashboardAttributeFilterConfigMode>>;
/**
 * Get a map of attribute filter modes based on the current screen mode (edit or view).
 *
 * @remarks
 * The mode will always be active in edit mode; otherwise, the mode is taken from the dashboard attribute filter.
 *
 * @alpha
 */
export declare const selectEffectiveAttributeFiltersModeMap: DashboardSelector<Map<string, DashboardAttributeFilterConfigMode>>;
/**
 * Get a map of attribute filter displayAsLabels
 *
 * @alpha
 */
export declare const selectAttributeFilterConfigsDisplayAsLabelMap: DashboardSelector<Map<string, ObjRef>>;
/**
 * Get a map of attribute filter modes keyed by tab identifier.
 *
 * @remarks
 * Returns a record where each key is a tab identifier and the value is a Map of attribute filter modes
 * for that tab. Useful when you need to access filter modes for all tabs at once.
 *
 * @internal
 */
export declare const selectAttributeFilterConfigsModeMapByTab: DashboardSelector<Record<string, Map<string, DashboardAttributeFilterConfigMode>>>;
/**
 * Get a map of attribute filter selection types keyed by tab identifier.
 *
 * @remarks
 * Returns a record where each key is a tab identifier and the value is a Map of attribute filter
 * `selectionType` values for that tab. Use when rendering filters for a specific tab (not only the active one).
 *
 * @internal
 */
export declare const selectAttributeFilterConfigsSelectionTypeMapByTab: DashboardSelector<Record<string, Map<string, DashboardAttributeFilterSelectionType | undefined>>>;
/**
 * Get a map of attribute filter available modes from dashboard attribute filter configurations.
 *
 * @internal
 */
export declare const selectAttributeFilterConfigsSelectionTypeMap: DashboardSelector<Map<string, DashboardAttributeFilterSelectionType | undefined>>;
//# sourceMappingURL=attributeFilterConfigsSelectors.d.ts.map