import { FC, ReactElement, ReactNode, PropsWithChildren, MouseEvent, MutableRefObject } from 'react'; import { DropPlacementValue, DropLayer } from './constants'; interface BaseDropProps { placement?: DropPlacementValue; layer?: DropLayer; host?: HTMLElement | null; show?: boolean; children: ReactElement; render: () => ReactNode; onClose?: () => void; flexible?: boolean; dataQa?: string; /** Элемент активатор, относительно которого показывать дроп */ activatorRef: MutableRefObject; } export interface DropClickPropsCommon { /** Колбек, вызывающийся, когда дроповер закрылся */ onClose?: () => void; /** Элемент инициатор, относительно которого показывать DropOver */ children: ReactElement<{ onClick?: (e: MouseEvent) => void; }>; /** Метод-рендер контента */ render: (closeDrop?: () => void) => ReactNode; /** Элемент активатор, относительно которого показывать дроп */ activatorRef: MutableRefObject; } interface DropClickProps extends DropClickPropsCommon { /** Любой компонент Drop */ DropElement: FC; } declare const Click: FC; export default Click;