import { default as React, ReactNode } from 'react';

interface DrawerProps {
    children: ReactNode;
    open?: boolean;
    onOpenChange?: (open: boolean) => void;
}
declare function Drawer({ children, open: controlledOpen, onOpenChange }: DrawerProps): import("react/jsx-runtime").JSX.Element;
declare namespace Drawer {
    var Trigger: ({ children, asChild, className, ...props }: DrawerTriggerProps) => import("react/jsx-runtime").JSX.Element;
    var Content: ({ children, direction, className, ...props }: DrawerContentProps) => import("react/jsx-runtime").JSX.Element;
    var Backdrop: typeof DrawerBackdrop;
    var CloseButton: typeof DrawerCloseButton;
}
export type DrawerTriggerProps = {
    children: ReactNode;
    asChild?: boolean;
} & React.HTMLAttributes<HTMLButtonElement>;
export type DrawerContentProps = {
    children: ReactNode;
    direction?: "left" | "right" | "top" | "bottom";
} & React.HTMLAttributes<HTMLDivElement>;
export type DrawerBackdropPropsType = React.HTMLAttributes<HTMLDivElement>;
declare function DrawerBackdrop(props: DrawerBackdropPropsType): React.ReactPortal | null;
export type DrawerCloseButtonProps = React.HTMLAttributes<HTMLButtonElement> & {
    children?: ReactNode;
};
declare function DrawerCloseButton({ children, className, ...rest }: DrawerCloseButtonProps): import("react/jsx-runtime").JSX.Element | null;
export { Drawer };
//# sourceMappingURL=drawer.d.ts.map