import React, { ReactNode } from 'react'; export declare const DrawerTrigger: React.ForwardRefExoticComponent>; export declare const DrawerContent: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; export declare const DrawerOverlay: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; export declare const DrawerTitle: React.ForwardRefExoticComponent>; export declare const DrawerPortal: typeof import("vaul").Portal; export declare const DrawerRoot: typeof import("vaul").Root; /** * Props for the Drawer component */ export interface DrawerProps { /** * Direction from which the drawer appears on desktop. On mobile, it always appears from bottom. * @default 'right' */ direction?: 'right' | 'top' | 'bottom'; /** * Content to display in the trigger button that opens the drawer * @default 'Open Drawer' */ trigger?: ReactNode; /** * Content to display as the drawer title. Can be a ReactNode or a function returning a ReactNode. * When using a function, it receives an object with an onClose function. * @default 'Drawer Title' */ title?: ReactNode | ((props: { onClose: () => void; }) => ReactNode); /** * Custom footer content to render at the bottom of the drawer. * Can be a ReactNode or a function returning a ReactNode. * When using a function, it receives an object with an onClose function. */ footer?: ReactNode | ((props: { onClose: () => void; }) => ReactNode); /** * Whether to show a close button in the title area * @default false */ shouldShowCloseButtonInTitle?: boolean; /** * Content to render inside the drawer body */ children?: ReactNode; /** * Controlled open state. When provided, the drawer becomes a controlled component. */ open?: boolean; /** * Callback fired when the open state changes */ onOpenChange?: (open: boolean) => void; /** * Whether to show a gradient overlay at the bottom of the drawer content * @default false */ shouldHaveGradient?: boolean; /** * Height of the gradient overlay when shouldHaveGradient is true * @default '80px' */ gradientHeight?: string; } export declare const Drawer: ({ direction, trigger, title, footer, shouldShowCloseButtonInTitle, children, open: controlledOpen, onOpenChange, shouldHaveGradient, gradientHeight, }: DrawerProps) => import("react/jsx-runtime").JSX.Element;