import type { CompletionContext } from '@codemirror/autocomplete'; import type { SuggestionGroup } from './suggestion-group-utils.js'; import type { FallbackKeys, FilterStatementKeysMap } from '../../FilterField.types.js'; import type { FilterFieldSuggestionProps } from '../../suggestions/Suggestion.types.js'; import type { FilterFieldSuggestionType } from '../../types/suggestions.js'; import type { FilterFieldLeafNode, FilterFieldStatementNode, FilterFieldValueNode } from '../../types/tree-nodes.js'; import type { FilterFieldCustomTypes, FilterFieldValidatorMap } from '../../types/validation.js'; import type { InternalValidatorMap } from '../validation-utils/normalize-validator-map.js'; /** * Matches a potential JSONPath (also incomplete ones like `content$.`) * https://regex101.com/r/9QQvzF/1 * @internal */ export declare const JSONPATH_PATTERN_PARTIAL: RegExp; /** * The return type of `getKeySuggestions`. * An ordered array of suggestion groups in declaration order. Empty groups are omitted. * The trailing entry (if present) holds the "use as key" hint, merged into the last implicit group. */ type KeySuggestionsResult = SuggestionGroup[]; /** * Lists all defined filter keys * @internal */ export declare function getKeySuggestions(internalValidatorMap: InternalValidatorMap | undefined, suggestionTypes?: FilterFieldSuggestionType, customTypes?: FilterFieldCustomTypes, doc?: string, currentToken?: FilterFieldValueNode): KeySuggestionsResult; /** @internal */ export declare function getSearchSuggestions(context: CompletionContext, currentStatement: FilterFieldStatementNode | undefined, currentToken: FilterFieldValueNode, suggestionTypes: FilterFieldSuggestionType, isInsideAGroup: boolean): FilterFieldSuggestionProps[]; /** @internal */ export declare function getFallbackKeySuggestions(currentToken: FilterFieldValueNode, suggestionTypes: FilterFieldSuggestionType, fallbackKeys?: FallbackKeys, filterStatementSuggestions?: FilterFieldSuggestionProps[]): FilterFieldSuggestionProps[]; /** @internal */ export declare function getFilterStatementSuggestions(currentToken: FilterFieldLeafNode, suggestionTypes: FilterFieldSuggestionType, filterStatementKeysMap?: FilterStatementKeysMap): FilterFieldSuggestionProps[]; /** * @internal */ export declare function getFilterStatementKeysMap(validatorMap?: FilterFieldValidatorMap): FilterStatementKeysMap | undefined; /** * @internal */ export declare function getFallbackKeys(validatorMap?: FilterFieldValidatorMap): FallbackKeys | undefined; export {};