import { TrieSearchReducer, TrieSearch } from '@typhonjs-fvtt/runtime/data/struct/search/trie'; import { DynArrayReducer } from '@typhonjs-fvtt/runtime/svelte/store/reducer'; import { Writable } from 'svelte/store'; /** * Options for TrieSearchQuery. */ type TrieSearchQueryOptions = { /** * The initial limit on search results. */ limit?: number; /** * An initial trie reducer instance to set. */ trieReducer?: TrieSearchReducer; }; /** * Provides a reactive query interface to {@link TrieSearch} in addition to dynamic filtering / sorting of search * results. * * @template T */ declare class TrieSearchQuery extends DynArrayReducer { #private; /** * @param {TrieSearch} trieSearch - The associated TrieSearch instance. * * @param {TrieSearchQueryOptions} options - Optional query settings. */ constructor(trieSearch: TrieSearch, options?: TrieSearchQueryOptions); /** * @returns {Writable} The writable store controlling the search results limit. */ get limit(): Writable; /** * @returns {boolean} The current destroyed state of this query instance. */ get isDestroyed(): boolean; /** * @returns {TrieSearchReducer} Any associated TrieSearch reducer function. */ get trieReducer(): TrieSearchReducer; /** * @returns {TrieSearch} The associated TrieSearch instance; can be undefined. */ get trieSearch(): TrieSearch; /** * @returns {Writable | undefined>} The writable store controlling the search query. */ get query(): Writable | undefined>; /** * @param {TrieSearchReducer | undefined} trieReducer - A new trie reducer function. */ set trieReducer(trieReducer: TrieSearchReducer | undefined); /** * Destroys and disconnects this query from the local stores and any associated TrieSearch instance. */ destroy(): void; } export { TrieSearchQuery, type TrieSearchQueryOptions };