import * as React from 'react';
import { PropsWithBagFunctionOrChildren } from '../../utils/bagFunctions.js';

type TransitionBag = {
    isOpen: boolean;
    isTransitioning: boolean;
    isUsingReducedMotion: boolean;
    data: {
        [key: `data-${string}`]: string | undefined;
    };
    handlers: {
        onTransitionEnd?: () => void;
        onAnimationEnd?: () => void;
        onTransitionCancel?: () => void;
    };
};
type TransitionWrapperProps = PropsWithBagFunctionOrChildren<TransitionBag> & {
    show: boolean;
    includeAnimation?: boolean;
};
/**
 * Only use when you have a transition happening
 */
declare function Transition({ children, show, includeAnimation, }: TransitionWrapperProps): React.ReactNode;

export { Transition, type TransitionWrapperProps };
