import { RefObject } from "../../../../fd-toolbox/types/ref-object";
import type { RefCallbackType } from "../../../../fd-toolbox/types/react-types";
import { FilterComponent } from "../filter/Filter";
import { WithIndexer } from "../../../../fd-toolbox-core/types/with-indexer";
import { ResourceMeta } from "../../core/resource-meta";
import { PropertyMeta } from "../../core/property-meta";
import { BaseODataFilter } from "../../../../fd-toolbox/odata/filters/base-odata-filter";
import { ResourceFilterListConfig } from "../resource-filter-list-config";
import { ResourceFilterListStateItem } from "./resource-filter-list-state-item";
import { SetStateFunc, VoidFunc, VoidFuncNoParam } from "../../../../fd-toolbox/functions/internal-getter-setter-functions";
import { FilterListOrientation } from "../filter-list-positions";
import { UiPropertyMeta } from "../../core/ui-property-meta";
export declare function isDisplayable(uiPropertyMeta?: UiPropertyMeta): boolean;
export declare function getFilters(state: WithIndexer<ResourceFilterListStateItem>, filteredPropertyMetas: WithIndexer<PropertyMeta>, config?: ResourceFilterListConfig, customResourceMetas?: ResourceMeta[]): WithIndexer<BaseODataFilter<unknown>>;
export declare function parseFilter(filter?: string): WithIndexer<ResourceFilterListStateItem>;
export declare function resetResourceFilterListState(stateKey: string, setState: VoidFunc<WithIndexer<ResourceFilterListStateItem>>, setResetCounter: SetStateFunc<number>, onFilterChange?: VoidFuncNoParam): void;
export declare function onResize(setElementsShown: VoidFunc<number>, filteredKeys: string[], setIsFiltersCollapsible: VoidFunc<boolean>, widthGetter?: () => WithIndexer<number | undefined>, containerRef?: HTMLDivElement, btnsWrapperRef?: HTMLDivElement, actionsRef?: HTMLDivElement, orientation?: FilterListOrientation): void;
export declare function setObserver(setElementsShown: VoidFunc<number>, filteredKeys: string[], setIsFiltersCollapsible: VoidFunc<boolean>, widthGetter?: () => WithIndexer<number | undefined>, containerRef?: HTMLDivElement, btnsWrapperRef?: HTMLDivElement, actionsRef?: HTMLDivElement, orientation?: FilterListOrientation): () => void;
export declare function onStateChange(item: string, state: WithIndexer<ResourceFilterListStateItem>, filter: BaseODataFilter, stateKey: string, setState: VoidFunc<WithIndexer<ResourceFilterListStateItem>>): void;
export declare function partiallyResetComponentState(value: WithIndexer<ResourceFilterListStateItem>, stateKey: string, setState: VoidFunc<WithIndexer<ResourceFilterListStateItem>>, onFilterChange?: VoidFuncNoParam): void;
export declare function getFilteredKeys(filterKeys: string[], uiPropertyMeta: WithIndexer<UiPropertyMeta>, filteredAndOtherPropertyMetas: WithIndexer<PropertyMeta>, relationInfo?: PropertyMeta[]): string[];
export declare function createOnFilterRefCallback(filterRefsMap: RefObject<Map<string, FilterComponent>>): (item: string) => RefCallbackType<FilterComponent>;
export declare function getFilterWidths(filterRefsMap: RefObject<Map<string, FilterComponent>>): WithIndexer<number>;
