import type { AriaAttributes } from 'react';
import React from 'react';
import type { CommonProps } from '../../internal/CommonWrapper';
import type { TGetRootNode } from '../../lib/rootNode';
import type { SizeProp } from '../../lib/types/props';
export type TokenSize = SizeProp;
export interface TokenProps extends Pick<AriaAttributes, 'aria-describedby'>, CommonProps {
    /** Делает токен активным. */
    isActive?: boolean;
    /** Меняет визуальное отображение токена на состояние «ошибка». Может быть полезен при разработке собственной валидации, если вы не используете пакет [React UI Validations](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui-validations_displaying-getting-started--docs). */
    error?: boolean;
    /** Меняет визуальное отображение токена на состояние «предупреждение». Может быть полезен при разработке собственной валидации, если вы не используете пакет [React UI Validations](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui-validations_displaying-getting-started--docs). */
    warning?: boolean;
    /** Блокирует токен. */
    disabled?: boolean;
    /** Размер токена. */
    size?: TokenSize;
    /** Задаёт функцию, которая вызывается при клике на токен. */
    onClick?: React.MouseEventHandler<HTMLDivElement>;
    /** Задаёт функцию, которая вызывается при двойном клике на токен. */
    onDoubleClick?: React.MouseEventHandler<HTMLDivElement>;
    /** Задаёт функцию, которая вызывается, когда токен удаляется. */
    onRemove?: React.MouseEventHandler<HTMLElement>;
    /** Задаёт функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */
    onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
    /** Задаёт функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
    onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
    /** Задаёт функцию, которая вызывается, когда токен получает фокус. */
    onFocus?: React.FocusEventHandler<HTMLDivElement>;
    /** Задаёт функцию, которая вызывается, когда токен теряет фокус. */
    onBlur?: React.FocusEventHandler<HTMLDivElement>;
}
export declare const TokenDataTids: {
    readonly root: "Token__root";
    readonly removeIcon: "Token__removeIcon";
};
/** Токены — это значение заданного формата внутри поля ввода. Например, номера телефонов, почты, ИНН, СНИЛС, статусы, группы и другие.
 *
 * Используется ак значение внутри [TokenInput](https://tech.skbkontur.ru/kontur-ui/?path=/docs/react-ui_input-data-tokeninput-tokeninput--docs).
 */
export declare class Token extends React.Component<TokenProps> {
    static __KONTUR_REACT_UI__: string;
    static displayName: string;
    private theme;
    getRootNode: TGetRootNode;
    private setRootNode;
    private readonly locale;
    render(): React.JSX.Element;
    private renderMain;
    private onRemoveClick;
}
