import React from 'react'; declare const STATUS_NONE: "none"; declare const STATUS_APPEAR: "appear"; declare const STATUS_ENTER: "enter"; declare const STATUS_LEAVE: "leave"; export declare type MotionStatus = typeof STATUS_NONE | typeof STATUS_APPEAR | typeof STATUS_ENTER | typeof STATUS_LEAVE; export declare type CSSMotionConfig = boolean | { transitionSupport?: boolean; forwardRef?: boolean; }; export declare type MotionEvent = (TransitionEvent | AnimationEvent) & { deadline?: boolean; }; export declare type MotionEventHandler = (element: HTMLElement, event: MotionEvent) => React.CSSProperties | void; export declare type MotionEndEventHandler = (element: HTMLElement, event: MotionEvent) => boolean | void; export declare type MotionName = string | { appear?: string; enter?: string; leave?: string; appearActive?: string; enterActive?: string; leaveActive?: string; }; export interface CSSMotionProps { motionName?: MotionName; visible?: boolean; motionAppear?: boolean; motionEnter?: boolean; motionLeave?: boolean; motionLeaveImmediately?: boolean; motionDeadline?: number; removeOnLeave?: boolean; leavedClassName?: string; eventProps?: object; onAppearStart?: MotionEventHandler; onEnterStart?: MotionEventHandler; onLeaveStart?: MotionEventHandler; onAppearActive?: MotionEventHandler; onEnterActive?: MotionEventHandler; onLeaveActive?: MotionEventHandler; onAppearEnd?: MotionEndEventHandler; onEnterEnd?: MotionEndEventHandler; onLeaveEnd?: MotionEndEventHandler; internalRef?: React.Ref; children?: (props: { className?: string; style?: React.CSSProperties; [key: string]: any; }, ref: (node: any) => void) => React.ReactNode; } export interface CSSMotionState { status?: MotionStatus; statusActive?: boolean; newStatus?: boolean; statusStyle?: React.CSSProperties; prevProps?: CSSMotionProps; } /** * `transitionSupport` is used for none transition test case. * Default we use browser transition event support check. */ export declare function genCSSMotion(config: CSSMotionConfig): React.ForwardRefExoticComponent; declare const _default: React.ForwardRefExoticComponent; export default _default;