import { type StoreApi } from 'zustand'; /** @internal */ export interface StoredFilter { filter: string; parserVersion: string; timeUsed: Date; } /** * Interface defining the store for recent filters. * @internal */ export interface RecentAndPinnedFiltersState { canPin: boolean; setCanPin: (canPin: boolean) => void; recentFilters: Array; setRecentFilters: (filters: Array) => void; saveRecentFilter: (filter: string) => Array; pinnedFilters: Array; setPinnedFilters: (filters: Array) => void; pinFilter: (filter: string) => Array; unpinFilter: (filter: string) => Array; } /** * Update logic for saving a filter to the store. * @internal */ export declare function addFilterToState(storedFilters: StoredFilter[], filter: string, limit: number): StoredFilter[]; /** * Update logic for unpinning a filter * @internal */ export declare function removeFilterFromState(storedFilters: StoredFilter[], filter: string): StoredFilter[]; /** * Creates a standalone store that can be used to namespace connected filter field storages. * @internal */ export declare function createRecentAndPinnedFilterStore(): StoreApi; /** * Void store for opt out feature * @internal */ export declare const voidStore: StoreApi; /** * Create a shareable saved filters store map that maps a namespace to a store. * @internal */ export declare const scopedRecentAndPinnedFiltersStores: Map>;