import * as React from 'react'; import { TransitionProps } from "../transitions/types.mjs"; export interface ZoomProps extends TransitionProps { /** * Add a custom transition end trigger. * Use it when you need custom logic to decide when the transition has ended. * Note: Timeouts are still used as a fallback if provided. * * @param {HTMLElement} node The transitioning DOM node. * @param {Function} done Call this when the transition has finished. */ addEndListener?: TransitionProps['addEndListener'] | undefined; /** * Perform the enter transition when it first mounts if `in` is also `true`. * Set this to `false` to disable this behavior. * @default true */ appear?: boolean | undefined; /** * A single child content element. */ children: React.ReactElement; /** * If `true`, the transition ignores `theme.motion.reducedMotion` and keeps its normal timing. * @default false */ disablePrefersReducedMotion?: boolean | undefined; /** * The transition timing function. * You may specify a single easing or a object containing enter and exit values. */ easing?: TransitionProps['easing'] | undefined; /** * If `true`, the component will transition in. */ in?: boolean | undefined; ref?: React.Ref | undefined; /** * The duration for the transition, in milliseconds. * You may specify a single timeout for all transitions, or individually with an object. * @default { * enter: theme.transitions.duration.enteringScreen, * exit: theme.transitions.duration.leavingScreen, * } */ timeout?: TransitionProps['timeout'] | undefined; } /** * The Zoom transition can be used for the floating variant of the * [Button](https://mui.com/material-ui/react-floating-action-button/#animation) component. * * Demos: * * - [Transitions](https://mui.com/material-ui/transitions/) * * API: * * - [Zoom API](https://mui.com/material-ui/api/zoom/) * - inherits [Transition API](https://reactcommunity.org/react-transition-group/transition/#Transition-props) */ export default function Zoom(props: ZoomProps): React.JSX.Element;