import React from 'react'; import PropTypes from 'prop-types'; declare function defaultRenderTag(props: any): JSX.Element; declare namespace defaultRenderTag { var propTypes: { key: PropTypes.Requireable; tag: PropTypes.Requireable; onRemove: PropTypes.Requireable<(...args: any[]) => any>; classNameRemove: PropTypes.Requireable; getTagDisplayValue: PropTypes.Requireable<(...args: any[]) => any>; }; } declare function defaultRenderInput({ addTag, ...props }: { [x: string]: any; addTag: any; }): JSX.Element; declare namespace defaultRenderInput { var propTypes: { value: PropTypes.Requireable; onChange: PropTypes.Requireable<(...args: any[]) => any>; addTag: PropTypes.Requireable<(...args: any[]) => any>; }; } declare function defaultRenderLayout(tagComponents: any, inputComponent: any): JSX.Element; declare function defaultPasteSplit(data: any): any; declare class TagsInput extends React.Component { constructor(); static propTypes: { focusedClassName: PropTypes.Requireable; addKeys: PropTypes.Requireable<(string | number)[]>; addOnBlur: PropTypes.Requireable; addOnPaste: PropTypes.Requireable; currentValue: PropTypes.Requireable; inputValue: PropTypes.Requireable; inputProps: PropTypes.Requireable; onChange: PropTypes.Validator<(...args: any[]) => any>; onChangeInput: PropTypes.Requireable<(...args: any[]) => any>; removeKeys: PropTypes.Requireable<(string | number)[]>; renderInput: PropTypes.Requireable<(...args: any[]) => any>; renderTag: PropTypes.Requireable<(...args: any[]) => any>; renderLayout: PropTypes.Requireable<(...args: any[]) => any>; pasteSplit: PropTypes.Requireable<(...args: any[]) => any>; tagProps: PropTypes.Requireable; onlyUnique: PropTypes.Requireable; value: PropTypes.Validator; maxTags: PropTypes.Requireable; validate: PropTypes.Requireable<(...args: any[]) => any>; validationRegex: PropTypes.Requireable; disabled: PropTypes.Requireable; tagDisplayProp: PropTypes.Requireable; preventSubmit: PropTypes.Requireable; }; static defaultProps: { className: string; focusedClassName: string; addKeys: number[]; addOnBlur: boolean; addOnPaste: boolean; inputProps: {}; removeKeys: number[]; renderInput: typeof defaultRenderInput; renderTag: typeof defaultRenderTag; renderLayout: typeof defaultRenderLayout; pasteSplit: typeof defaultPasteSplit; tagProps: { className: string; classNameRemove: string; }; onlyUnique: boolean; maxTags: number; validate: () => boolean; validationRegex: RegExp; disabled: boolean; tagDisplayProp: any; preventSubmit: boolean; }; _getTagDisplayValue(tag: any): any; _makeTag(tag: any): any; _removeTag(index: any): void; _clearInput(): void; _tag(): any; _addTags(tags: any): boolean; _validate(tag: any): any; _shouldPreventDefaultEventOnAdd(added: any, empty: any, keyCode: any): any; focus(): void; blur(): void; accept(): boolean; addTag(tag: any): boolean; clearInput(): void; handlePaste(e: any): void; handleKeyDown(e: any): void; handleClick(e: any): void; handleChange(e: any): void; handleOnFocus(e: any): void; handleOnBlur(e: any): void; handleRemove(tag: any): void; inputProps(): any; inputValue(props: any): any; hasControlledInput(): boolean; componentDidMount(): void; componentWillReceiveProps(nextProps: any): void; render(): JSX.Element; className: boolean; div: any; } export default TagsInput;