import * as react from 'react';
import { HTMLAttributes, ReactNode } from 'react';
import { M as ModalSize, h as DrawerPosition, j as DrawerSize, x as ToastPosition, T as ToastData } from './Drawer-CDezlRCG.js';
import * as react_jsx_runtime from 'react/jsx-runtime';
type MotionConflictProps$1 = 'onDrag' | 'onDragStart' | 'onDragEnd' | 'onAnimationStart';
interface AnimatedModalProps extends Omit, 'title' | MotionConflictProps$1> {
open: boolean;
onClose: () => void;
title?: ReactNode;
description?: ReactNode;
size?: ModalSize;
showCloseButton?: boolean;
closeOnBackdropClick?: boolean;
closeOnEscape?: boolean;
footer?: ReactNode;
}
/** Modal dialog with framer-motion scale and fade animations. */
declare const AnimatedModal: react.ForwardRefExoticComponent>;
type MotionConflictProps = 'onDrag' | 'onDragStart' | 'onDragEnd' | 'onAnimationStart';
interface AnimatedDrawerProps extends Omit, 'title' | MotionConflictProps> {
open: boolean;
onClose: () => void;
position?: DrawerPosition;
size?: DrawerSize;
title?: ReactNode;
description?: ReactNode;
showCloseButton?: boolean;
closeOnBackdropClick?: boolean;
closeOnEscape?: boolean;
footer?: ReactNode;
}
/** Animated slide-in drawer panel with framer-motion transitions. */
declare const AnimatedDrawer: react.ForwardRefExoticComponent>;
interface AnimatedToastContainerProps {
position?: ToastPosition;
className?: string;
}
/** Container that renders animated toast notifications at a configurable screen position. */
declare function AnimatedToastContainer({ position, className, }: AnimatedToastContainerProps): react_jsx_runtime.JSX.Element;
declare function useAnimatedToast(): ((options: Omit) => string) & {
success: (title: ReactNode, description?: ReactNode) => string;
error: (title: ReactNode, description?: ReactNode) => string;
warning: (title: ReactNode, description?: ReactNode) => string;
info: (title: ReactNode, description?: ReactNode) => string;
dismiss: (id: string) => void;
clear: () => void;
};
/**
* Hook that detects user's prefers-reduced-motion setting.
* Returns true when the user prefers reduced motion.
*/
declare function useReducedMotion(): boolean;
export { AnimatedDrawer, type AnimatedDrawerProps, AnimatedModal, type AnimatedModalProps, AnimatedToastContainer, type AnimatedToastContainerProps, useAnimatedToast, useReducedMotion };