/// <reference types="node" />
import React, { Component } from "react";
import { FormBuilder } from "../../formBuilder";
import { OutputValues } from "../../types/builder.outputValues";
import { InputImplement } from '../../types/input.implement';
import { ItemsInputProps, ItemsInputValueType } from './items.interface';
interface IState {
    error: boolean;
    items: string[];
}
export declare class ItemsInput extends Component<ItemsInputProps, IState> implements InputImplement<ItemsInputValueType> {
    state: IState;
    validationTimeout: NodeJS.Timeout | undefined;
    formBuilderRef: {
        [key: string]: FormBuilder | null;
    };
    shouldComponentUpdate(nextProps: ItemsInputProps, nextState: IState): boolean;
    UNSAFE_componentWillMount(): void;
    private sleep;
    setValue(values: ItemsInputValueType): Promise<ItemsInputValueType>;
    private setItemValue;
    exportFormBuilderData: (validation: boolean) => OutputValues[];
    getValue(validation?: boolean): any;
    clear(): Promise<ItemsInputValueType>;
    validation(validation?: boolean): boolean;
    getRandomKey: () => string;
    addItem: () => Promise<string>;
    copyItem: (key: string) => () => Promise<void>;
    removeItem: (key: string) => () => Promise<string | undefined>;
    removeAll: () => Promise<any>;
    click: () => void;
    focus: () => void;
    blur: () => void;
    renderItem: (key: string, withoutExtraElement?: boolean) => React.JSX.Element;
    render(): React.JSX.Element;
}
export {};
