import * as React from "react";
import * as PropTypes from "prop-types";
import { FieldProps, JSONSchemaObject, JSONSchemaEnumOneOf } from "../../types";
interface State {
    suggestion?: any;
}
interface ValueContext {
    taxonRank?: string;
    author?: string;
}
export default class ScientificNameTaxonAutosuggestField extends React.Component<FieldProps<JSONSchemaObject>, State> {
    static contextType: React.Context<import("../../ReactContext").ContextProps>;
    static propTypes: {
        uiSchema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            "ui:options": PropTypes.Validator<NonNullable<PropTypes.InferProps<{
                taxonField: PropTypes.Validator<string>;
                taxonRankField: PropTypes.Validator<string>;
                authorField: PropTypes.Validator<string>;
                allowNonsuggestedValue: PropTypes.Requireable<boolean>;
            }>>>;
            uiSchema: PropTypes.Requireable<object>;
        }>>>;
        schema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            type: PropTypes.Requireable<string>;
        }>>>;
        formData: PropTypes.Validator<object>;
    };
    state: State;
    getUiSchema: (props: FieldProps<JSONSchemaObject>) => any;
    getSuggestionValue: (suggestion: any) => string;
    findExactMatch: (suggestions: any[], inputValue?: string) => any;
    onSuggestionSelected: (suggestion: any, mounted: boolean) => void;
    onUnsuggestionSelected: (value: any) => void;
    isValueSuggested: (value?: string, valueContext?: ValueContext) => boolean | undefined;
    getSuggestionFromValue: (value?: string, valueContext?: ValueContext) => Promise<any>;
    suggestionMatchesData: (suggestion: any, value?: string, valueContext?: ValueContext) => boolean;
    getTaxonRankOptions: () => JSONSchemaEnumOneOf[] | undefined;
    renderSuggestion(suggestion: any, inputValue?: string): JSX.Element;
    render(): JSX.Element;
}
export {};
