import React from 'react';
import type { PopupPinnablePositionsType, ShortPopupPositionsType } from '../../internal/Popup/index.js';
import type { Nullable } from '../../typings/utility-types.js';
import type { MouseEventType } from '../../typings/event-types.js';
import type { CommonProps } from '../../internal/CommonWrapper/index.js';
import type { TGetRootNode } from '../../lib/rootNode/index.js';
import type { InstanceWithAnchorElement } from '../../lib/InstanceWithAnchorElement.js';
export interface HintProps extends CommonProps {
    /** @ignore */
    children?: React.ReactNode;
    /** Переводит отображение подсказки в _"ручной режим"_.
     В _"ручном режиме"_ подсказку можно активировать только задав значение пропу `opened`. */
    manual?: boolean;
    /** Задает максимальную ширину подсказки. */
    maxWidth?: React.CSSProperties['maxWidth'];
    /** Задает функцию, которая вызывается при наведении мышкой (событие `onmouseenter`). */
    onMouseEnter?: (event: MouseEventType) => void;
    /** Задает функцию, которая вызывается при уходе мышки с объекта (событие `onmouseleave`). */
    onMouseLeave?: (event: MouseEventType) => void;
    /** Открывает подсказку. Работает только при `manual=true`. */
    opened?: boolean;
    /** Задает приоритетное расположение подсказки относительно текста. */
    pos?: ShortPopupPositionsType | PopupPinnablePositionsType;
    /** Задает текст подсказки. */
    text: React.ReactNode;
    /** Задает список позиций, которые будет занимать хинт. Если положение хинта в определенной позиции будет выходить за край экрана, то будет выбрана следующая позиция. Обязательно должен включать позицию указанную в `pos`. */
    allowedPositions?: PopupPinnablePositionsType[];
    /** Отключает анимацию. */
    disableAnimations?: boolean;
    /** Явно указывает, что вложенные элементы должны быть обёрнуты в `<span/>`.
     * Используется для корректного позиционирования хинта при двух и более вложенных элементах.
     * _Примечание_: при **двух и более** вложенных элементах обёртка будет добавлена автоматически. */
    useWrapper?: boolean;
}
export interface HintState {
    opened: boolean;
    position: PopupPinnablePositionsType;
}
type DefaultProps = Required<Pick<HintProps, 'manual' | 'opened' | 'maxWidth' | 'disableAnimations' | 'useWrapper'>>;
/**
 * Всплывающая подсказка `Hint`.
 * По умолчанию отображается при наведении на элемент, но можно задать другие условия отображения.
 *
 * Для подсказки, всплывающей по клику используйте Tooltip.
 */
export declare class Hint extends React.PureComponent<HintProps, HintState> implements InstanceWithAnchorElement {
    static __KONTUR_REACT_UI__: string;
    static displayName: string;
    static defaultProps: DefaultProps;
    private getProps;
    state: HintState;
    private timer;
    private theme;
    getRootNode: TGetRootNode;
    private setRootNode;
    private styles;
    private emotion;
    private cx;
    private popupRef;
    getAllowedPositions(): string[] | undefined;
    componentDidUpdate(prevProps: HintProps): void;
    componentWillUnmount(): void;
    render(): React.JSX.Element;
    renderMain(): React.JSX.Element;
    getAnchorElement: () => Nullable<Element>;
    private renderContent;
    private getPositions;
    private handleMouseEnter;
    private handleMouseLeave;
    private open;
}
export {};
