import { NonCancelableEventHandler } from '../internal/events'; import { I18nStringsOperators } from './i18n-utils'; import { ComparisonOperator, GroupText, I18nStrings, InternalFilteringOption, InternalFilteringProperty, InternalFreeTextFiltering, InternalQuery, InternalToken, InternalTokenGroup, JoinOperation, ParsedText, Query } from './interfaces'; type I18nStringsController = I18nStringsOperators & Pick; export declare const getQueryActions: ({ query, onChange, filteringOptions, enableTokenGroups }: { query: InternalQuery; onChange: NonCancelableEventHandler; filteringOptions: readonly InternalFilteringOption[]; enableTokenGroups: boolean; }) => { addToken: (token: InternalToken) => void; updateToken: (updateIndex: number, updatedToken: InternalToken | InternalTokenGroup, releasedTokens: InternalToken[]) => void; updateOperation: (operation: JoinOperation) => void; removeToken: (removeIndex: number) => void; removeAllTokens: () => void; }; export declare const getAllowedOperators: (property: InternalFilteringProperty) => ComparisonOperator[]; export declare const parseText: (filteringText: string, filteringProperties: readonly InternalFilteringProperty[], freeTextFiltering: InternalFreeTextFiltering) => ParsedText; interface OptionGroup { label: string; options: T[]; } export declare function getPropertySuggestions(filteringProperties: readonly InternalFilteringProperty[], customGroupsText: readonly GroupText[], i18nStrings: I18nStringsController, filteringPropertyToOption: (filteringProperty: InternalFilteringProperty) => T): OptionGroup[]; export declare const getAutosuggestOptions: (parsedText: ParsedText, filteringProperties: readonly InternalFilteringProperty[], filteringOptions: readonly InternalFilteringOption[], customGroupsText: readonly GroupText[], i18nStrings: I18nStringsController) => { filterText: string; options: { options: { value: string; label: string; __labelPrefix: string; tags: readonly string[] | undefined; filteringTags: readonly string[] | undefined; }[]; label: string; }[]; } | { filterText: string; options: (OptionGroup<{ value: string; label: string; keepOpenOnSelect: boolean; }> | { options: { value: string; label: string; description: string | undefined; keepOpenOnSelect: boolean; }[]; label: string | undefined; })[]; } | { filterText: string; options: (OptionGroup | OptionGroup<{ value: string; label: string; keepOpenOnSelect: boolean; }>)[]; }; export {};