import React from 'react'; import { MotionProps, TransitionProps } from '../Motion/type'; export declare type TriggerAction = 'mousedown' | 'hover' | 'focus' | 'click'; interface CustomPopupRenderFuncParams { visible: boolean; setPopupElement(element: HTMLElement): void; } export interface TriggerProps { triggerActions?: TriggerAction[]; children: JSX.Element; visible?: boolean; onVisibleChange?: (visible: boolean) => void; defaultVisible?: boolean; portalClassName?: string; bindTriggerElement?: React.MutableRefObject | React.RefCallback; bindPortalElement?: React.MutableRefObject | React.RefCallback; getPopupContainer?: (triggerElement: HTMLElement) => HTMLElement; transitionPopupProps?: Omit & { popup: React.ReactNode; }; motionPopupProps?: Omit & { popup: React.ReactNode; }; customPopupRender?: (params: CustomPopupRenderFuncParams) => React.ReactNode; componentKey?: string; mouseEnterDelay?: number; mouseLeaveDelay?: number; onTriggerElementResize?: (popupElement: HTMLElement) => void; onWindowResize?: (popupElement: HTMLElement) => void; resizeDebounce?: number; onDescClick?: (evt: MouseEvent) => void; onClickAway?: (evt: MouseEvent) => void; allowClickTriggerClose?: boolean; } export interface TriggerContextProps { triggerComponentKey: string; } export {};