import React from 'react';
import { Theme } from '../cn';
export declare type MenuItemProps = {
    /**
     * Тип элемента меню
     */
    type?: 'link' | 'dropdown' | 'block';
    /**
     * Тип ссылки, для компонента с type='link'
     */
    view?: 'plain' | 'underlined' | 'pseudo';
    /**
     * href ссылки, для компонента с type='link'
     */
    url?: string;
    /**
     * target для ссылки
     */
    target?: '_self' | '_blank' | '_parent' | '_top';
    /**
     * Уникальное значение элемента. Для использования в Menu
     */
    value?: string | number;
    /**
     * Попап для компонента с type='dropdown'
     */
    popup?: React.ReactNode;
    /**
     * Управление возможностью выбирать данный компонент
     */
    disabled?: boolean;
    /**
     * Управление состоянием выбран/не выбран компонента
     */
    checked?: boolean;
    /**
     * Управление видимостью компонента
     */
    hidden?: boolean;
    /**
     * Управление визуальным выделением компонента
     */
    hovered?: boolean;
    /**
     * Размер компонента
     */
    size?: 's' | 'm' | 'l' | 'xl';
    /**
     * Дочерние элементы `MenuItem`
     */
    children?: React.ReactNode;
    /**
     * Тема компонента
     */
    theme?: Theme;
    /**
     * Дополнительный класс
     */
    className?: string;
    /**
     * Только для type='link', обработчик клика по компоненту
     */
    onClick?: (event?: React.MouseEvent<any>) => void;
    /**
     * Обработчик фокуса компонента
     */
    onFocus?: (event?: React.FocusEvent<any>) => void;
    /**
     * Обработчик снятия фокуса компонента
     */
    onBlur?: (event?: React.FocusEvent<any>) => void;
    /**
     * Обработчик события наведения курсора на элемент меню
     */
    onMouseEnter?: (event?: React.MouseEvent<any>) => void;
    /**
     * Обработчик события снятия курсора с элемента меню
     */
    onMouseLeave?: (event?: React.MouseEvent<any>) => void;
    /**
     * Идентификатор для систем автоматизированного тестирования
     */
    'data-test-id'?: string;
};
/**
 * Компонент элемента меню. Как правило, используется совместно с `Menu`.
 */
export declare class MenuItem extends React.PureComponent<MenuItemProps> {
    protected cn: (this: void | {
        props?: Record<string, unknown>;
    }, elementNameOrMods?: string | {
        [key: string]: string | number | boolean;
    }, mods?: {
        [key: string]: string | number | boolean;
    }) => string;
    static defaultProps: Partial<MenuItemProps>;
    state: {
        hovered: boolean;
        focused: boolean;
    };
    private root;
    private control;
    render(): JSX.Element;
    private handleClick;
    private handleFocus;
    private handleBlur;
    private handleMouseEnter;
    private handleMouseLeave;
    /**
     * Возвращает корневой `HTMLElement` компонента.
     */
    getNode(): any;
    /**
     * Устанавливает фокус на элементе меню.
     */
    focus(): void;
    /**
     * Убирает фокус с элемента меню.
     */
    blur(): void;
}
declare const _default: React.ForwardRefExoticComponent<MenuItemProps & React.RefAttributes<MenuItem>> & MenuItem;
export default _default;
