/**
 * Uses AutosuggestWidget to apply autosuggested values to multiple object's fields. Options are passed to AutosuggestWidget.
 *
 * uischema = {"ui:options": {
 *  autosuggestField: <string> (field name which is used for api call. The suggestions renderer method is also defined by autosuggestField)
 *  suggestionInputField: <fieldName> (the field which is rendered as the autosuggest input)
 *  suggestionValueField: <fieldName> (the field which the value for autosuggest is pulled from)
 *  suggestionReceivers: {
 *    <fieldName>: <suggestion path>,     (when an autosuggestion is selected, these fields receive the autosuggestions value defined by suggestion path.
 *    <fieldName2>: <suggestion path 2>,   Example: autosuggestion = {key: "MLV.2", value: "kalalokki", informalGroups: ["linnut"]}
 *   }                                              suggestionReceivers: {someFieldName: "key", someFieldName2: "/informalgroups/0"}
 *                                         If fieldName start  with '$', then a function from autosuggestFieldSettings parses the suggestion. Example: $taxonGroup
 *                                         If fieldName start  with '/', it is handled as a JSON pointer.
 *  uiSchema: <uiSchema> (uiSchema which is passed to inner SchemaField)
 * }
 */
export default class AutosuggestField extends React.Component<any, any, any> {
    static propTypes: {
        uiSchema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            "ui:options": PropTypes.Validator<NonNullable<PropTypes.InferProps<{
                autosuggestField: PropTypes.Validator<string>;
                suggestionInputField: PropTypes.Validator<string>;
                allowNonsuggestedValue: PropTypes.Requireable<boolean>;
                suggestionReceivers: PropTypes.Validator<object>;
                inputTransformer: PropTypes.Requireable<PropTypes.InferProps<{
                    regexp: PropTypes.Validator<string>;
                    transformations: PropTypes.Validator<object>;
                }>>;
                informalTaxonGroups: PropTypes.Requireable<string>;
                informalTaxonGroupPersistenceKey: PropTypes.Requireable<string>;
            }>>>;
            uiSchema: PropTypes.Requireable<object>;
        }>>>;
        schema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            type: PropTypes.Requireable<string>;
        }>>>;
        formData: PropTypes.Validator<object>;
    };
    static getName(): string;
    constructor(props: any);
    state: {
        schema: any;
        uiSchema: any;
        toggled: any;
        taxonGroupID: any;
    };
    UNSAFE_componentWillReceiveProps: (props: any) => void;
    onNextTick: (() => any) | undefined;
    getTogglePersistenceContextKey: (props: any) => string;
    getInformalTaxonGroupsPersistenceContextKey: (props: any) => string;
    getStateFromProps: (props: any, toggled: any) => {
        schema: any;
        uiSchema: any;
        toggled: any;
        taxonGroupID: any;
    };
    getActiveOptions: (options: any, toggled: any) => any;
    getSuggestionReceiverValue(suggestion: any, suggestionReceiver: any): any;
    getSuggestionValue: (suggestion: any, def: any) => any;
    onSuggestionSelected: (suggestion: any, mounted: any) => void;
    onConfirmUnsuggested: (value: any) => void;
    onInputChange: ({ target: { value } }: {
        target: {
            value: any;
        };
    }) => any;
    isValueSuggested: () => boolean;
    getSuggestionFromValue: () => Promise<{
        value: any;
        key: any;
    }>;
    onInformalTaxonGroupSelected: (informalTaxonID: any) => void;
    onToggleChange: (value: any) => void;
    render(): JSX.Element;
}
import * as React from "react";
import * as PropTypes from "prop-types";
