import * as _yamada_ui_motion from '@yamada-ui/motion'; import { MotionTransition, MotionProps } from '@yamada-ui/motion'; import { ThemeProps } from '@yamada-ui/core'; import { Merge } from '@yamada-ui/utils'; import { ReactElement } from 'react'; type FlipIdent = "from" | "to"; type FlipOrientation = "horizontal" | "vertical"; interface FlipOptions { /** * 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?: FlipIdent; /** * 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; /** * The orientation of the flip effect. Determines whether the flip occurs horizontally or vertically. * * @default 'horizontal' */ orientation?: FlipOrientation; /** * If `true`, the component is readonly. * * @default false */ readOnly?: boolean; /** * The animation transition. */ transition?: MotionTransition; /** * Use this when you want to control the animation from outside the component. */ value?: FlipIdent; /** * This is a callback function that is called when the animation state changes. */ onChange?: (value: FlipIdent) => void; } interface FlipProps extends Merge, FlipOptions>, ThemeProps<"Flip"> { } /** * `Flip` is an animation component that alternates between flipping two elements. * * @see Docs https://yamada-ui.com/components/transitions/flip */ declare const Flip: _yamada_ui_motion.MotionComponent<"button", FlipProps>; export { Flip, type FlipIdent, type FlipOptions, type FlipOrientation, type FlipProps };