import type { CSSTransitionClassNames, CSSTransitionHookReturnValue, PreconfiguredCSSTransitionInDefaultedOptions, TransitionTimeout } from "./types.js";
/**
 * The default cross fade transition timeout.
 *
 * @since 2.0.0
 * @since 6.0.0 Renamed from `CROSS_FADE_TIMEOUT` to
 * `DEFAULT_CROSS_FADE_TIMEOUT`
 */
export declare const DEFAULT_CROSS_FADE_TIMEOUT: {
    readonly appear: 300;
    readonly enter: 300;
    readonly exit: 0;
};
/**
 * The default cross fade transition classes to use.
 *
 * @since 2.0.0
 * @since 6.0.0 Renamed from `CROSS_FADE_CLASSNAMES` to
 * `DEFAULT_CROSS_FADE_CLASSNAMES`.
 */
export declare const DEFAULT_CROSS_FADE_CLASSNAMES: {
    readonly appear: "rmd-cross-fade";
    readonly appearActive: "rmd-cross-fade--active";
    readonly enter: "rmd-cross-fade";
    readonly enterActive: "rmd-cross-fade--active";
};
/**
 * @typeParam E - An HTMLElement type used for the ref required for the
 * transition.
 * @since 4.0.0
 */
export interface CrossFadeTransitionHookOptions<E extends HTMLElement> extends PreconfiguredCSSTransitionInDefaultedOptions<E> {
    /**
     * @see {@link TransitionTimeout}
     * @see {@link DEFAULT_CROSS_FADE_TIMEOUT}
     * @defaultValue `CROSS_FADE_TIMEOUT`
     */
    timeout?: TransitionTimeout;
    /**
     * @see {@link CSSTransitionClassNames}
     * @see {@link DEFAULT_CROSS_FADE_CLASSNAMES}
     * @defaultValue `CROSS_FADE_CLASSNAMES`
     */
    classNames?: CSSTransitionClassNames;
    /**
     * @see {@link PreconfiguredCSSTransitionInDefaultedOptions.transitionIn}
     * @defaultValue `true`
     */
    transitionIn?: boolean;
}
/**
 * This hook is used to create a "cross fade" transition -- a transition that
 * gradually increases the opacity and transforms the element vertically a short
 * distance. This is generally used for full page transitions when a route
 * changes.
 *
 * @see {@link https://react-md.dev/hooks/use-cross-fade-transition | useCrossFadeTransition Demos}
 * @see {@link https://react-md.dev/components/cross-fade | CrossFade Demos}
 * @typeParam E - An HTMLElement type used for the ref required for the
 * transition.
 * @since 4.0.0
 */
export declare function useCrossFadeTransition<E extends HTMLElement>(options?: CrossFadeTransitionHookOptions<E>): CSSTransitionHookReturnValue<E>;
