import { ButtonProps, Button } from './button.js';
import * as react_aria_components from 'react-aria-components';
import { ModalOverlay, ModalOverlayProps } from 'react-aria-components';
import * as react_jsx_runtime from 'react/jsx-runtime';
import * as tailwind_variants from 'tailwind-variants';
import { VariantProps } from 'tailwind-variants';

declare const drawerVariants: tailwind_variants.TVReturnType<{
    placement: {
        top: string;
        bottom: string;
        left: string;
        right: string;
    };
    isEntering: {
        true: string;
    };
    isExiting: {
        true: string;
    };
}, undefined, "bg-background fixed z-50 flex h-auto flex-col shadow-lg transition", {
    placement: {
        top: string;
        bottom: string;
        left: string;
        right: string;
    };
    isEntering: {
        true: string;
    };
    isExiting: {
        true: string;
    };
}, undefined, tailwind_variants.TVReturnType<{
    placement: {
        top: string;
        bottom: string;
        left: string;
        right: string;
    };
    isEntering: {
        true: string;
    };
    isExiting: {
        true: string;
    };
}, undefined, "bg-background fixed z-50 flex h-auto flex-col shadow-lg transition", unknown, unknown, undefined>>;
interface DrawerProps extends React.ComponentProps<typeof ModalOverlay>, VariantProps<typeof drawerVariants> {
    overlayClassName?: ModalOverlayProps["className"];
    isBlurred?: boolean;
    showCloseButton?: boolean;
}
declare const Drawer: ({ className, overlayClassName, showCloseButton, isDismissable, isOpen, onOpenChange, placement, isBlurred, ...props }: DrawerProps) => react_jsx_runtime.JSX.Element;
declare const DrawerBody: ({ className, ...props }: React.ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
declare const DrawerTrigger: typeof react_aria_components.DialogTrigger;
declare const DrawerContent: ({ className, children, ...props }: React.ComponentProps<typeof react_aria_components.Dialog>) => react_jsx_runtime.JSX.Element;
declare const DrawerHeader: ({ className, ...props }: React.ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
declare const DrawerFooter: ({ className, ...props }: React.ComponentProps<"div">) => react_jsx_runtime.JSX.Element;
declare const DrawerTitle: ({ className, ...props }: React.ComponentProps<typeof react_aria_components.Heading>) => react_jsx_runtime.JSX.Element;
declare const DrawerDescription: ({ className, ...props }: React.ComponentProps<typeof react_aria_components.Text>) => react_jsx_runtime.JSX.Element;
declare const DrawerCloseIcon: ({ className, shape, variant, size, ...props }: React.ComponentProps<typeof Button>) => react_jsx_runtime.JSX.Element;
declare const DrawerClose: ({ className, variant, ...props }: ButtonProps) => react_jsx_runtime.JSX.Element;

export { Drawer, DrawerBody, DrawerClose, DrawerCloseIcon, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, type DrawerProps, DrawerTitle, DrawerTrigger };
