/// declare type MotionChildrenFunc = (props: { className?: string; }, ref?: React.MutableRefObject | React.RefCallback) => React.ReactNode; export interface MotionProps { destroyAfterLeave?: boolean; leaveClassName?: string; children: React.ReactNode | MotionChildrenFunc; name?: string; enter?: boolean; onEnterPrepare?: (element: HTMLElement) => void; onEnterStart?: (element: HTMLElement) => void; onEnterActive?: (element: HTMLElement) => void; onEnterEnd?: (element: HTMLElement) => void; leave?: boolean; onLeavePrepare?: (element: HTMLElement) => void; onLeaveStart?: (element: HTMLElement) => void; onLeaveActive?: (element: HTMLElement) => void; onLeaveEnd?: (element: HTMLElement) => void; visible?: boolean; bindMotionElement?: (element: HTMLElement) => void; } export declare enum MotionStatus { NONE = "none", IGNORE_ENTER = "ignore_enter", IGNORE_LEAVE = "ignore_leave", APPEAR = "appear", ENTER = "enter", LEAVE = "leave" } export declare enum MotionStep { NONE = "none", PREPARE = "prepare", START = "start", ACTIVE = "active", END = "end" } declare type TransitionType = 'fade' | 'collapse' | 'scale-y'; export interface TransitionProps extends React.DetailedHTMLProps, Tag> { visible: boolean; height?: number; className?: string; transitionTypes?: TransitionType[]; display?: React.CSSProperties['display']; duration?: 'fast' | 'slow' | 'medium'; tag?: keyof HTMLElementTagNameMap; destroyAfterLeave?: MotionProps['destroyAfterLeave']; hideDisplayAfterLeave?: boolean; bindMotionElement?: (element: HTMLElement) => void; } export {};