import * as react_jsx_runtime from 'react/jsx-runtime'; import * as React from 'react'; import { Dialog } from 'radix-ui'; declare function Sheet({ ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; declare function SheetTrigger({ ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; declare function SheetClose({ ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; type SheetContentSize = "sm" | "md" | "lg" | "xl" | "full"; /** Narrowest a user can drag a resizable sheet. Below this the content stops fitting. */ declare const SHEET_RESIZE_MIN_WIDTH = 280; /** Widest a user can drag a resizable sheet. Past this, promote the surface to a route. */ declare const SHEET_RESIZE_MAX_WIDTH = 960; declare function SheetContent({ className, children, side, size, showCloseButton, showOverlay, dismissOnOutsideClick, resizable, resizeStorageKey, minWidth, maxWidth, widthResetToken, onInteractOutside, style, ...props }: React.ComponentProps & { side?: "top" | "right" | "bottom" | "left"; /** * Width of a `left` / `right` sheet: `sm` 20rem, `md` 24rem (default), * `lg` 32rem, `xl` 40rem, `full` viewport. `top` / `bottom` sheets span the * viewport width and ignore this prop. Past `xl`, prefer a route over a sheet. */ size?: SheetContentSize; showCloseButton?: boolean; showOverlay?: boolean; /** * Let a click on the page behind close the sheet. On by default, matching * Escape and the close button as a third equivalent way out. * * Radix's own outside-click detection already excludes anything a click * *opens* — a `Select` / `Popover` / `DropdownMenu` (or a nested sheet) * triggered from inside this one registers as part of the same dismissable * layer stack, so choosing an option in one doesn't also dismiss this * sheet. That covers "the click outside opened something" for free, * without a hand-rolled `onPointerDownOutside` guard — see the * drawer-vs-dialog pattern doc's "Dismissal" section. * * Set `false` only for a rail meant to stay open while the user keeps * working the live page behind it on purpose (e.g. a Properties rail the * user wants visible while clicking around the hub to see it react) — * Escape and the close button are still always available. */ dismissOnOutsideClick?: boolean; /** * Show a resize handle on the sheet's inner edge (`left` / `right` only; off * on mobile). Pointer drag and keyboard: focus the handle, then ArrowLeft / * ArrowRight change width (Shift = coarse). Height stays fixed. */ resizable?: boolean; /** * Remember the dragged width under this key. Panel width is a shell display * preference, so it belongs in the unnamespaced `shell:` family alongside the * secondary panel and Ask Leo rail widths. Omit to reset the width each open. */ resizeStorageKey?: string; minWidth?: number; maxWidth?: number; /** * Change this to throw away a dragged width and fall back to the width the * sheet would otherwise open at. `FloatingSheetPanel` passes the chosen size, * so picking Medium after dragging actually moves the rail. */ widthResetToken?: string | number; }): react_jsx_runtime.JSX.Element; declare function SheetHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function SheetFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element; declare function SheetTitle({ className, ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; declare function SheetDescription({ className, ...props }: React.ComponentProps): react_jsx_runtime.JSX.Element; export { SHEET_RESIZE_MAX_WIDTH, SHEET_RESIZE_MIN_WIDTH, Sheet, SheetClose, SheetContent, type SheetContentSize, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger };