import { type CSSProperties, type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react"; import { type IconRotatorClassNameOptions } from "./styles.js"; /** * @since 6.0.0 Removed `animate` prop and added `disableTransition` */ export interface IconRotatorBaseProps extends HTMLAttributes, IconRotatorClassNameOptions { /** * An optional style to apply to the surrounding span when the `forceIconWrap` * prop is enabled or the children is not a single react element. */ style?: CSSProperties; /** * Boolean if the child icon should be "forcefully" wrapped in a `` * element. This should be enabled if you have a custom icon that does not * pass the `className` prop down. * * @defaultValue `false` */ forceIconWrap?: boolean; } export interface IconRotatorProps extends IconRotatorBaseProps { ref?: Ref; /** * The icon that should be rotated. If this is a valid React Element, the * class names will be cloned into that icon, otherwise the icon will be * wrapped in a span with the correct class names applied. */ children: ReactNode; } /** * The `IconRotator` is a simple component that is used to rotate an icon from a * one degrees to another. * * @see {@link https://react-md.dev/components/icon-rotator | IconRotator Demos} */ export declare function IconRotator(props: IconRotatorProps): ReactElement;