import * as _yamada_ui_motion from '@yamada-ui/motion'; import { MotionProps } from '@yamada-ui/motion'; import { ThemeProps } from '@yamada-ui/core'; import { Merge } from '@yamada-ui/utils'; import { ReactElement } from 'react'; type RotateIdent = "from" | "to"; interface RotateOptions { /** * Passing React elements to "from" is required. */ from: ReactElement; /** * Passing React elements to "to" is required. */ to: ReactElement; /** * You can set the initial state. * * @default 'from' */ defaultValue?: RotateIdent; /** * The animation delay. * * @default 0 */ delay?: number; /** * If `true`, the component is disabled. * * @default false */ disabled?: boolean; /** * The animation duration. * * @default 0.4 */ duration?: number; /** * If `true`, the component is disabled. * * @default false * @deprecated Use `disabled` instead. */ isDisabled?: boolean; /** * If `true`, the component is readonly. * * @default false * @deprecated Use `readOnly` instead. */ isReadOnly?: boolean; /** * If `true`, the component is readonly. * * @default false */ readOnly?: boolean; /** * The animation rotation. * * @default 45 */ rotate?: number; /** * Use this when you want to control the animation from outside the component. */ value?: RotateIdent; /** * This is a callback function that is called when the animation state changes. */ onChange?: (value: RotateIdent) => void; } interface RotateProps extends Merge, RotateOptions>, ThemeProps<"Rotate"> { } /** * `Rotate` is an animation component that alternately rotates two elements as they switch. * * @see Docs https://yamada-ui.com/components/transitions/rotate */ declare const Rotate: _yamada_ui_motion.MotionComponent<"button", RotateProps>; export { Rotate, type RotateIdent, type RotateProps };