import * as React from "react";
import { Drawer as DrawerPrimitive } from "vaul";
/**
 * Drawer Component
 *
 * A drawer component for sliding content from the edges of the screen.
 * Built on top of Vaul drawer primitive.
 *
 * @example
 * ```tsx
 * <Drawer>
 *   <DrawerTrigger>Open Drawer</DrawerTrigger>
 *   <DrawerContent>
 *     <DrawerHeader>
 *       <DrawerTitle>Title</DrawerTitle>
 *       <DrawerDescription>Description</DrawerDescription>
 *     </DrawerHeader>
 *     <DrawerFooter>
 *       <Button>Save</Button>
 *     </DrawerFooter>
 *   </DrawerContent>
 * </Drawer>
 * ```
 */
declare function Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
declare namespace Drawer {
    var displayName: string;
}
/**
 * DrawerTrigger Component
 *
 * The trigger element that opens the drawer.
 */
declare function DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerTrigger {
    var displayName: string;
}
/**
 * DrawerPortal Component
 *
 * Portal for rendering drawer content.
 */
declare function DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerPortal {
    var displayName: string;
}
/**
 * DrawerClose Component
 *
 * Close button for the drawer.
 */
declare function DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerClose {
    var displayName: string;
}
/**
 * DrawerOverlay Component
 *
 * Backdrop overlay for the drawer.
 */
declare function DrawerOverlay({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Overlay>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerOverlay {
    var displayName: string;
}
/**
 * DrawerContent Component
 *
 * Main content container for the drawer.
 */
declare function DrawerContent({ className, children, ...props }: React.ComponentProps<typeof DrawerPrimitive.Content>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerContent {
    var displayName: string;
}
/**
 * DrawerHeader Component
 *
 * Header section of the drawer.
 */
declare function DrawerHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerHeader {
    var displayName: string;
}
/**
 * DrawerFooter Component
 *
 * Footer section of the drawer.
 */
declare function DrawerFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerFooter {
    var displayName: string;
}
/**
 * DrawerTitle Component
 *
 * Title of the drawer.
 */
declare function DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerTitle {
    var displayName: string;
}
/**
 * DrawerDescription Component
 *
 * Description text for the drawer.
 */
declare function DrawerDescription({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Description>): import("react/jsx-runtime").JSX.Element;
declare namespace DrawerDescription {
    var displayName: string;
}
export { Drawer, DrawerPortal, DrawerOverlay, DrawerTrigger, DrawerClose, DrawerContent, DrawerHeader, DrawerFooter, DrawerTitle, DrawerDescription, };
//# sourceMappingURL=drawer.d.ts.map