import { ElementType, MutableRefObject, Ref } from 'react'; import { Props, ReactTag } from '../../types.js'; import { Features, HasDisplayName, PropsForFeatures, RefProp } from '../../utils/render.js'; export interface TransitionClasses { enter?: string; enterFrom?: string; enterTo?: string; entered?: string; leave?: string; leaveFrom?: string; leaveTo?: string; } export interface TransitionEvents { beforeEnter?: () => void; afterEnter?: () => void; beforeLeave?: () => void; afterLeave?: () => void; } export type TransitionChildProps = Props & TransitionClasses & TransitionEvents & { appear?: boolean; }>; declare let DEFAULT_TRANSITION_CHILD_TAG: "div"; type TransitionChildRenderPropArg = MutableRefObject; declare let TransitionChildRenderFeatures: Features; declare function TransitionChildFn(props: TransitionChildProps, ref: Ref): JSX.Element; export type TransitionRootProps = TransitionChildProps & { show?: boolean; appear?: boolean; }; declare function TransitionRootFn(props: TransitionRootProps, ref: Ref): JSX.Element; interface ComponentTransitionRoot extends HasDisplayName { (props: TransitionRootProps & RefProp): JSX.Element; } interface ComponentTransitionChild extends HasDisplayName { (props: TransitionChildProps & RefProp): JSX.Element; } export declare let Transition: ComponentTransitionRoot & { Child: ComponentTransitionChild; Root: ComponentTransitionRoot; }; export {};