import { FC, ReactNode, PropsWithChildren, MutableRefObject } from 'react'; import TipProvider from 'bloko/blocks/drop/Tip/Context'; import { TipLayer, TipTheme, TipPlacement, TipPlacementType } from 'bloko/blocks/drop/Tip/constants'; declare const DropTip: FC; export interface TipProps { /** Предпочтительное положение дроптипа, доступны в статическом свойстве [placements](#tip-placements). * Если в указанном направлении недостаточно места для отображения, подсказка будет показана в * направлении, которое больше подходит. */ placement?: TipPlacementType; /** Тип слоя z-index-а подсказки, доступны в статическом свойстве [layers](#tip-layers) */ layer?: TipLayer; /** Возможные темы дроптипа доступны в статическом свойстве [themes](#tip-themes)*/ theme?: TipTheme; /** DOM нода хоста в рамках которого нужно рендерить меню, по дефолту рендер будет в родителе компонента.*/ host?: HTMLElement | null; /** Флаг отвечает за показ меню, `true` - показать, `false` - скрыть */ show?: boolean; /** Метод-рендер контента меню */ render: () => ReactNode | null; /** Элемент инициатор, относительно которого показывать всплывающую подсказку */ children?: ReactNode; /** Колбек вызывается, когда показан другой дроптип. Это связано с тем что дроптип может быть показан только 1 * в момент времени, и нужно корректно обрабатывать state родителя, который отвечает за показ дроптипа */ onExternalClose: (show: boolean) => void; dataQa?: string; /** Флаг, отключающий максимальную ширину */ flexible?: boolean; /** Элемент активатор, относительно которого показывать дроп */ activatorRef: MutableRefObject; } export default DropTip; export { TipTheme, TipLayer, TipPlacement, TipProvider };