import { AssetType, MetapropertyOptionType as MetapropertyOption } from '../views/asset/asset.type'; import { AssetFilterJson } from '../filter/assetFilter.type'; import { AutocompleteResponseOption, SmartfilterOption, selectedSmartfilterOptionsType } from '../api/rest/types'; export type NormalizedMetapropertyFilters = Record>>; type MetapropertyMapType = Record; export interface Filter { assetTypes: AssetType[]; existingFilters: NormalizedMetapropertyFilters | null; isDropdownActive: boolean; isLimited?: boolean; metaproperties: MetapropertyOption[]; metapropertyIds: string[]; metapropertyMap: MetapropertyMapType; predefinedFilter?: AssetFilterJson; selectedSmartfilterOptions: selectedSmartfilterOptionsType; tags: string[]; } interface Actions { addAssetType: (assetType: AssetType) => void; setAssetTypes: (assetTypes: AssetType[]) => void; removeAssetType: (assetType: AssetType) => void; addMetaproperty: (metaproperty: MetapropertyOption) => void; removeMetaproperty: (metaproperty: MetapropertyOption) => void; setPredefinedMetaproperties: () => void; addTag: (tag: string) => void; setTags: (tags: string[]) => void; removeTag: (tag: string) => void; clear: () => void; setDropdownState: (active: boolean) => void; selectSmartfilterOption: (metapropertyName: string, option: SmartfilterOption | AutocompleteResponseOption, isMultifilter?: boolean) => void; removeSmartfilterOption: (metapropertyName: string, optionId: string) => void; setActiveFiltersState: (filters: NormalizedMetapropertyFilters) => void; setPredefinedFilter: (filter?: AssetFilterJson) => void; setHideLimitedUse: (hide: boolean) => void; } export type AssetFilterStore = Filter & Actions; export declare const useAssetFilterStore: import('zustand').UseBoundStore, "setState" | "devtools"> & { setState(partial: AssetFilterStore | Partial | ((state: AssetFilterStore) => AssetFilterStore | Partial), replace?: false | undefined, action?: (string | { [x: string]: unknown; [x: number]: unknown; [x: symbol]: unknown; type: string; }) | undefined): void; setState(state: AssetFilterStore | ((state: AssetFilterStore) => AssetFilterStore), replace: true, action?: (string | { [x: string]: unknown; [x: number]: unknown; [x: symbol]: unknown; type: string; }) | undefined): void; devtools: { cleanup: () => void; }; }>; export declare function keepPredefinedMetapropertiesInMap(metapropertyMap: MetapropertyMapType, predefinedMetaproperties: string[]): {}; export {};