import React, { type ReactNode, type RefObject } from "react"; import { SheetContent as PrimitiveSheetContent } from "src/primitives/Sheet"; type SheetSize = "small" | "large" | "extraLarge"; /** Radix Sheet.Content props we forward via ...otherProps. */ type SheetContentProps = React.ComponentProps; export interface SheetProps extends Omit { /** Size of the sheet. */ size?: SheetSize; /** Whether the sheet is open. */ isOpen?: boolean; /** Callback invoked when the sheet is closed. */ onClose?: () => void; /** Content rendered inside the sheet. */ children?: ReactNode; /** Additional CSS class names applied to the sheet content. */ className?: string; /** Close on pressing the Esc key. */ closeOnEsc?: boolean; /** Show the close button. */ closeButton?: boolean; /** Additional CSS class names applied to the backdrop/overlay. */ backdropClassName?: string; /** Close on clicking outside the sheet. */ closeOnOutsideClick?: boolean; /** Ref of the element to receive focus when the sheet opens. */ initialFocusRef?: RefObject; /** Ref of the element to receive focus when the sheet closes. */ finalFocusRef?: RefObject; /** Which side the sheet slides in from. */ side?: "top" | "right" | "bottom" | "left"; /** Radix Dialog `modal` prop — controls modal vs non-modal behaviour. */ modal?: boolean; /** Radix Dialog `defaultOpen` prop. */ defaultOpen?: boolean; } interface SheetSubcomponentProps extends React.ComponentProps<"div"> { children?: ReactNode; className?: string; } declare const SheetHeader: React.ForwardRefExoticComponent & React.RefAttributes>; declare const SheetBody: React.ForwardRefExoticComponent & React.RefAttributes>; declare const SheetFooter: React.ForwardRefExoticComponent & React.RefAttributes>; declare const SheetTitle: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const SheetDescription: React.ForwardRefExoticComponent, "ref"> & React.RefAttributes>; declare const Sheet: React.ForwardRefExoticComponent> & { Header: typeof SheetHeader; Body: typeof SheetBody; Footer: typeof SheetFooter; Title: typeof SheetTitle; Description: typeof SheetDescription; }; export { Sheet };