import { ReactNode } from 'react';
import { BaseProps } from '../../../tasty';
export interface CubeIconSwitchProps extends BaseProps {
    /** The icon to display */
    children: ReactNode;
    /** Override the default key derivation for detecting icon changes */
    contentKey?: string | number;
    /** When true, renders without wrapper element, expecting parent to provide grid context */
    noWrapper?: boolean;
}
/**
 * A component that cross-fades between icons when children change.
 * Useful for animated icon transitions in buttons, items, etc.
 *
 * When `contentKey` changes, a transition is triggered.
 * When only `children` changes (same `contentKey`), content is updated in-place
 * without transition, allowing self-animating icons (like DirectionIcon) to work.
 */
export declare function IconSwitch(props: CubeIconSwitchProps): import("react/jsx-runtime").JSX.Element;
export type { CubeIconSwitchProps as IconSwitchProps };
