import * as React from "react";
import * as PropTypes from "prop-types";
import { FieldProps, JSONSchemaArray, UiSchema } from "../../types";
import memoize from "memoizee";
interface FieldValue {
    prefix: string;
    value: string;
}
interface State {
    fieldValues: FieldValue[];
}
export default class PrefixArrayField extends React.Component<FieldProps<JSONSchemaArray>, State> {
    static propTypes: {
        uiSchema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            "ui:options": PropTypes.Requireable<PropTypes.InferProps<{
                prefixValues: PropTypes.Validator<(string | null | undefined)[]>;
                separator: PropTypes.Requireable<string>;
                addFieldPlaceholder: PropTypes.Requireable<string>;
            }>>;
            uiSchema: PropTypes.Requireable<object>;
        }>>>;
        schema: PropTypes.Validator<NonNullable<PropTypes.InferProps<{
            type: PropTypes.Requireable<string>;
        }>>>;
        formData: PropTypes.Requireable<any[]>;
    };
    static getName(): string;
    constructor(props: FieldProps<JSONSchemaArray>);
    UNSAFE_componentWillReceiveProps(props: FieldProps<JSONSchemaArray>): void;
    getSeparator(uiSchema: UiSchema): string;
    getStateFromProps(props: FieldProps<JSONSchemaArray>): State;
    onSelectFieldChange: (prefix: string) => void;
    onFieldChange: ((idx: number) => (value: any) => void) & memoize.Memoized<(idx: number) => (value: any) => void>;
    onFieldDelete: ((idx: number) => () => void) & memoize.Memoized<(idx: number) => () => void>;
    render(): JSX.Element;
}
export {};
