import { type TransitionEventHandler } from 'react';
export type UseCSSTransitionState = 'appear' | 'appearing' | 'appeared' | 'enter' | 'entering' | 'entered' | 'exit' | 'exiting' | 'exited';
export type UseCSSTransitionOptions = {
    enableAppear?: boolean;
    enableEnter?: boolean;
    enableExit?: boolean;
    onEnter?: (appear?: boolean) => void;
    onEntering?: (appear?: boolean) => void;
    onEntered?: (propertyName?: string, appear?: boolean) => void;
    onExit?: () => void;
    onExiting?: () => void;
    onExited?: (propertyName?: string) => void;
};
export type UseCSSTransition<Ref extends Element = Element> = [
    state: UseCSSTransitionState,
    {
        ref: React.RefObject<Ref | null>;
        onTransitionEnd?: TransitionEventHandler;
    }
];
/**
 * Хук основан на компоненте `CSSTransition` из библиотеки `react-transition-group`.
 *
 * @link https://reactcommunity.org/react-transition-group/css-transition
 *
 * @private
 */
export declare const useCSSTransition: <Ref extends Element = Element>(inProp?: boolean, { enableAppear, enableEnter, enableExit, onEnter: onEnterProp, onEntering: onEnteringProp, onEntered: onEnteredProp, onExit: onExitProp, onExiting: onExitingProp, onExited: onExitedProp, }?: UseCSSTransitionOptions) => UseCSSTransition<Ref>;
//# sourceMappingURL=useCSSTransition.d.ts.map