import React from 'react';
import { PureComponent } from '../component';
import { TagProps } from './Props';
interface TagState {
    dismiss: 0 | 1 | 2;
    inputVisible: 0 | 1;
    value: null | string;
}
declare type ReactMouseEvent = React.MouseEvent<HTMLDivElement> & {
    defaultPrevented: boolean;
};
declare class Tag extends PureComponent<TagProps, TagState> {
    static defaultProps: {
        type: string;
        className: string;
        size: import("../@types/common").RegularAttributes.Size;
        style: React.CSSProperties;
    };
    constructor(props: TagProps);
    componentDidMount(): void;
    closeTag(dismiss?: number): void;
    dismiss(e: ReactMouseEvent): void;
    inputBlur(value: string): void;
    inputChange(value: string): void;
    toggleInputVisible(): void;
    handleClick(e: React.MouseEvent<HTMLDivElement>): void;
    handleClose(e: React.MouseEvent<HTMLDivElement>): void;
    renderClose(dismiss: 0 | 1): JSX.Element | null;
    render(): JSX.Element | null;
}
export default Tag;
