import React, { CSSProperties, ReactNode } from 'react'; import { Override } from '../../overrides'; import CSS from 'csstype'; export declare type AnimationStatus = 'entered' | 'entering' | 'exited' | 'exiting'; export declare type Duration = { enter: number; exit: number; }; export declare type TimingFunction = CSSProperties['transitionTimingFunction']; export declare type TransitionSharedProps = { $animationStyles?: AnimationStyles | null; }; declare type TransitionOverrides = { Container?: Override; }; export declare type TransitionCallbacks = { onEnter?: (isAppearing: boolean) => void; onEntering?: (isAppearing: boolean) => void; onEntered?: (isAppearing: boolean) => void; onExit?: () => void; onExiting?: () => void; onExited?: () => void; }; export declare type TransitionProps = TransitionCallbacks & { overrides?: TransitionOverrides; containerRef?: React.Ref; visible?: boolean; children: ReactNode; duration?: Duration | number; enableAppearTransition?: boolean; mountOnEnter?: boolean; unmountOnExit?: boolean; disableEnterTransition?: boolean; disableExitTransition?: boolean; animationStyles?: AnimationStyles | null; }; export declare type AnimationStyles = { [status in AnimationStatus]: CSS.Properties; }; export {};