import { CSSProperties, Dispatch, MutableRefObject, SetStateAction } from 'react'; import { ExtendedRefs, ReferenceType, UseFloatingOptions, UseFloatingReturn, UseHoverProps } from '@floating-ui/react'; interface HintExtendedRefs extends ExtendedRefs { setArrow: (el: HTMLElement | null) => void; } interface UseHintFloatingReturn extends Omit, 'refs'> { refs: HintExtendedRefs; } /** * Возвращает конфигурацию для `useFloating` по дизайн-гайдам. * @param options Опции. * @return Конфигурация для `useFloating` по дизайн-гайдам. */ export declare function hintFloatingConfig({ arrowRef, }?: { arrowRef?: MutableRefObject; }): Partial; /** * Расширенная версия `useFloating` для использования с `Hint`. * @param props Свойства useFloating. * @return Результат useFloating. */ export declare function useHintFloating(props?: Partial): UseHintFloatingReturn; /** * Возвращает стили для всплывающего хинта с учетом "слоя". * @param floating Результат вызова useFloating. * @return Стили для элемента с учетом "слоя". */ export declare function useHintFloatingStyle(floating: Pick): CSSProperties; /** * Возвращает стили для стрелки между хинтом и триггером. * @param floating Результат вызова useFloating. * @return Стили для элемента с учетом "слоя". */ export declare function getArrowFloatingStyle({ placement, middlewareData, }: Pick): CSSProperties; /** * Показ всплывающего хинта при наведении. * @param floating Результат вызова useFloating. * @param props Пропсы для useHover. * @return Опции для открывающего и всплывающего элемента. */ export declare function useHintOnHover(floating: Pick, 'context' | 'strategy' | 'placement' | 'x' | 'y' | 'middlewareData'>, props?: UseHoverProps): import("@floating-ui/react").UseInteractionsReturn; /** * Показ всплывающего хинта при клике. * @param floating Результат вызова useFloating. * @return Опции для открывающего и всплывающего элемента. */ export declare function useHintOnClick(floating: Pick): import("@floating-ui/react").UseInteractionsReturn; /** * Состояние хинта с автоматическим скрытием по таймауту. * @param initialState Начальное состояние. * @param options Опции. * @return Результат вызова `useState`. */ export declare function useTempHintState(initialState: boolean, { timeout }?: { timeout?: number; }): readonly [boolean, Dispatch>]; export {};