import { PropsWithChildren } from 'react';
export type FadeAnimationStyle = 'fade' | 'tabs' | 'page' | 'pageBack' | 'fromLeft' | 'fromRight' | 'fromTop' | 'fromBottom';
export type FadeProps = {
    /**
     * Defines whether to show the content.
     *
     * @default true
     */
    show?: boolean;
    /**
     * Duration of the fade animation in seconds.
     *
     * @default 0.2
     */
    duration?: number;
    /**
     * Defines whether the animation is triggered initially when showing the content.
     *
     * @default false
     */
    initial?: boolean;
    /**
     * Defines the desired animation style.
     *
     * Possible values are:
     * - `fade`
     * - `tabs`
     * - `page`
     * - `pageBack`
     * - `fromLeft`
     * - `fromRight`
     * - `fromTop`
     * - `fromBottom`
     *
     * @default 'fade'
     */
    animationStyle?: FadeAnimationStyle;
    /**
     * If set to true, only one component will be rendered at a time.
     *
     * The exiting component will finish its exit animation before the entering component is rendered.
     *
     * @default false
     */
    exitBeforeEnter?: boolean;
    /**
     * Fires when all exiting nodes have completed animating out.
     *
     * @default () => {}
     */
    onExitComplete?: VoidFunction;
    /**
     * Additional custom props for the underlying Framer motion AnimatePresence component.
     *
     * Use this for additional customizations.
     */
    animatePresenceProps?: object;
    /**
     * Additional custom props for the underlying Framer motion &lt;motion.div&gt; component.
     *
     * Use this for additional customizations.
     */
    motionProps?: object;
};
declare const Fade: {
    (props: PropsWithChildren<FadeProps>): import("react/jsx-runtime").JSX.Element;
    FADE: "fade";
    FROM_LEFT: "fromLeft";
    FROM_RIGHT: "fromRight";
    FROM_TOP: "fromTop";
    FROM_BOTTOM: "fromBottom";
    TABS: "tabs";
    PAGE: "page";
    PAGE_BACK: "pageBack";
};
export default Fade;
