import { TagInput } from '@blueprintjs/core'; import * as React from 'react'; export interface SuggestionProvider { token?: string; values: () => string[]; suggestionFilter?: (query: string, suggestion: Suggestion) => boolean; textOnly?: boolean; } export interface Suggestion { text: string; final: boolean; } export type TokenizingFieldValue = { token?: string; value: string; }; interface TokenizingFieldProps { values: TokenizingFieldValue[]; maxValues?: number; onChange: (values: TokenizingFieldValue[]) => void; onChangeBeforeCommit?: boolean; addOnBlur?: boolean; onFocus?: () => void; onBlur?: () => void; placeholder?: string; loading?: boolean; className?: string; small?: boolean; fullwidth?: boolean; onTextChange?: (text: string) => void; suggestionProviders: SuggestionProvider[]; suggestionRenderer?: (suggestion: Suggestion) => React.ReactNode; suggestionProvidersFilter?: (suggestionProvider: SuggestionProvider[], values: TokenizingFieldValue[]) => SuggestionProvider[]; } export declare const tokenizedValuesFromString: (str: string, providers: SuggestionProvider[]) => TokenizingFieldValue[]; export declare const tokenizedValuesFromStringArray: (tokens: string[], providers: SuggestionProvider[]) => TokenizingFieldValue[]; export declare const tokenizeString: (str: string) => [string, string]; export declare function tokenizedValueFromString(str: string, providers: SuggestionProvider[]): TokenizingFieldValue; export declare const tokenToString: (v: TokenizingFieldValue) => string; export declare const tokensAsStringArray: (value: TokenizingFieldValue[]) => string[]; export declare const stringFromValue: (value: TokenizingFieldValue[]) => string; /** Provides a text field with typeahead autocompletion. * This completion either provides a list of standalone tokens * sourced from the `tokens` param, or a set of key value pairs, * sourced from the `suggestionProviders` param. In the latter case, the * key is one of a known set of "suggestion provider tokens". * * Provide one or more SuggestionProviders or a list of tokens * to build the tree of autocompletions. * * The input also allows for freeform typing (`value` items with no token value) */ export declare const TokenizingField: ({ suggestionProviders, suggestionProvidersFilter, values: externalValues, maxValues, onChange, onChangeBeforeCommit, onFocus, onBlur, onTextChange, placeholder, addOnBlur, loading, className, fullwidth, suggestionRenderer, }: TokenizingFieldProps) => import("react/jsx-runtime").JSX.Element; export declare const StyledTagInput: import("styled-components").StyledComponent; export {};