import { type HTMLAttributes, type ReactElement, type ReactNode, type Ref } from "react";
import { type CSSTransitionComponentProps, type TransitionActions, type TransitionTimeout } from "./types.js";
declare module "react" {
interface CSSProperties {
"--rmd-slide-duration"?: string | number;
}
}
/** @since 6.0.0 */
export interface SlideProps extends HTMLAttributes, CSSTransitionComponentProps, TransitionActions {
ref?: Ref;
/**
* Set this to `true` to animate this slide into view within a
* `SlideContainer`. When this switches from `true` to `false`, it will
* animate out.
*/
active: boolean;
/** @defaultValue {@link DEFAULT_SLIDE_TRANSITION_DURATION} */
timeout?: TransitionTimeout;
children: ReactNode;
}
/**
* **Client Component**
*
* A reasonable default for handling a slide transition using
* {@link useSlideTransition}.
*
* @see {@link https://react-md.dev/components/slide | Slide Demos}
* @see {@link SlideContainer} for example usage.
* @since 6.0.0
*/
export declare function Slide(props: SlideProps): ReactElement | null;