import React, { type ElementType, type MutableRefObject, type Ref } from 'react'; import type { Props, ReactTag } from '../../types.js'; import { RenderFeatures, type HasDisplayName, type PropsForFeatures, type RefProp } from '../../utils/render.js'; export interface TransitionClasses { enter?: string; enterFrom?: string; enterTo?: string; /** * @deprecated The `enterTo` and `leaveTo` classes stay applied after the transition has finished. */ entered?: string; leave?: string; leaveFrom?: string; leaveTo?: string; } export interface TransitionEvents { beforeEnter?: () => void; afterEnter?: () => void; beforeLeave?: () => void; afterLeave?: () => void; } type TransitionChildPropsWeControl = never; export type TransitionChildProps = Props & TransitionClasses & TransitionEvents & { transition?: boolean; appear?: boolean; }>; declare let DEFAULT_TRANSITION_CHILD_TAG: React.ExoticComponent<{ children?: React.ReactNode; }>; type TransitionChildRenderPropArg = MutableRefObject; declare let TransitionChildRenderFeatures: RenderFeatures; declare function TransitionChildFn(props: TransitionChildProps, ref: Ref): React.JSX.Element; export type TransitionRootProps = TransitionChildProps & { show?: boolean; appear?: boolean; }; declare function TransitionRootFn(props: TransitionRootProps, ref: Ref): React.JSX.Element; export interface _internal_ComponentTransitionRoot extends HasDisplayName { (props: TransitionRootProps & RefProp): React.JSX.Element; } export interface _internal_ComponentTransitionChild extends HasDisplayName { (props: TransitionChildProps & RefProp): React.JSX.Element; } export declare let TransitionChild: _internal_ComponentTransitionChild; export declare let Transition: _internal_ComponentTransitionRoot & { /** @deprecated use `` instead of `` */ Child: _internal_ComponentTransitionChild; /** @deprecated use `` instead of `` */ Root: _internal_ComponentTransitionRoot; }; export {};