import { type FilterContextItem, type IAttributeDisplayFormMetadataObject, type IDashboardObjectIdentity, type IFilterContextDefinition } from "@gooddata/sdk-model";
import type { FilterContextState, IWorkingFilterContextDefinition } from "./filterContextState.js";
/**
 * Deeply merges partial working filter context into filter context definition.
 * @returns full working filter context.
 *
 * @internal
 */
export declare function applyFilterContext(filterContext: IFilterContextDefinition, workingFilterContext: IWorkingFilterContextDefinition | undefined, enableImmediateAttributeFilterDisplayAsLabelMigration?: boolean): IFilterContextDefinition;
/**
 * Initializes filter context definition by ensuring filters have local identifiers
 * and are in proper order (common date filter first).
 *
 * @param filterContextDefinition - The filter context definition to initialize
 * @returns Initialized filter context definition with local identifiers and proper ordering
 * @internal
 */
export declare function initializeFilterContextDefinition(filterContextDefinition: IFilterContextDefinition): IFilterContextDefinition;
/**
 * Creates a complete initialized FilterContextState from raw data.
 * Applies all initialization logic including local identifiers and filter ordering.
 *
 * @param filterContextDefinition - The filter context definition
 * @param originalFilterContextDefinition - Optional original definition for reset functionality
 * @param attributeFilterDisplayForms - Display forms for attribute filters
 * @param filterContextIdentity - Optional identity for persisted filter contexts
 * @returns Fully initialized FilterContextState
 * @internal
 */
export declare function initializeFilterContext(filterContextDefinition: IFilterContextDefinition, originalFilterContextDefinition?: IFilterContextDefinition, attributeFilterDisplayForms?: IAttributeDisplayFormMetadataObject[], filterContextIdentity?: IDashboardObjectIdentity): FilterContextState;
/**
 * @internal
 */
export declare function getFilterIdentifier(filter: FilterContextItem): string;
//# sourceMappingURL=filterContextUtils.d.ts.map