import type { UseOverlayStateReturn } from "../../hooks/use-overlay-state"; import type { DOMRenderProps } from "../../utils/dom"; import type { DrawerVariants } from "@heroui/styles"; import type { ComponentPropsWithRef, ReactNode } from "react"; import type { ButtonProps as ButtonPrimitiveProps } from "react-aria-components/Button"; import type { DialogProps as DialogPrimitiveProps } from "react-aria-components/Dialog"; import React from "react"; import { Button as ButtonPrimitive } from "react-aria-components/Button"; import { DialogTrigger as DrawerTriggerPrimitive, Heading as HeadingPrimitive } from "react-aria-components/Dialog"; import { ModalOverlay as ModalOverlayPrimitive, Modal as ModalPrimitive } from "react-aria-components/Modal"; type DrawerPlacement = "top" | "bottom" | "left" | "right"; interface DrawerRootProps extends ComponentPropsWithRef { state?: UseOverlayStateReturn; } declare const DrawerRoot: { ({ children, state, ...props }: DrawerRootProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerTriggerProps extends ComponentPropsWithRef { } declare const DrawerTrigger: { ({ children, className, ...props }: DrawerTriggerProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerBackdropProps extends ComponentPropsWithRef { variant?: DrawerVariants["variant"]; /** * Whether to close the drawer when the user interacts outside it. * @default true */ isDismissable?: boolean; } declare const DrawerBackdrop: { ({ children, className, isDismissable, variant, ...props }: DrawerBackdropProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerContentProps extends Omit, Exclude> { placement?: DrawerPlacement; } declare const DrawerContent: { ({ children, className, placement, ...props }: DrawerContentProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerDialogProps extends DialogPrimitiveProps { } declare const DrawerDialog: { ({ children, className, ...props }: DrawerDialogProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerHeaderProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const DrawerHeader: { ({ children, className, ...props }: DrawerHeaderProps & Omit>): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerBodyProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const DrawerBody: { ({ children, className, ...props }: DrawerBodyProps & Omit>): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerFooterProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const DrawerFooter: { ({ children, className, ...props }: DrawerFooterProps & Omit>): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerHeadingProps extends ComponentPropsWithRef { } declare const DrawerHeading: { ({ children, className, ...props }: DrawerHeadingProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerHandleProps extends DOMRenderProps { children?: ReactNode; className?: string; } declare const DrawerHandle: { ({ className, ...props }: DrawerHandleProps & Omit>): import("react/jsx-runtime").JSX.Element; displayName: string; }; interface DrawerCloseTriggerProps extends ButtonPrimitiveProps { className?: string; children?: ReactNode; } declare const DrawerCloseTrigger: { ({ className, ...rest }: DrawerCloseTriggerProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; export { DrawerRoot, DrawerTrigger, DrawerBackdrop, DrawerContent, DrawerDialog, DrawerHeader, DrawerHeading, DrawerBody, DrawerFooter, DrawerHandle, DrawerCloseTrigger, }; export type { DrawerRootProps, DrawerTriggerProps, DrawerBackdropProps, DrawerContentProps, DrawerDialogProps, DrawerHeaderProps, DrawerHeadingProps, DrawerBodyProps, DrawerFooterProps, DrawerHandleProps, DrawerCloseTriggerProps, };