import { CSSProperties } from 'react'; type FloatingSheetSide = "top" | "right" | "bottom" | "left"; /** * Starting width of a rail: `sm` 24rem, `md` 32rem, `lg` 40rem. * * This is only where the rail opens. The user can change it from the toolbar's * size menu or by dragging the inner edge, and both choices are remembered. */ type FloatingSheetSize = "sm" | "md" | "lg"; /** * Per-size desktop widths. Written out in full rather than composed, because * Tailwind only generates arbitrary values it can find as literal strings. */ declare const FLOATING_SHEET_SIZE_WIDTH: Record; /** Labels for the toolbar's size menu. */ declare const FLOATING_SHEET_SIZE_LABEL: Record; declare const FLOATING_SHEET_SIZES: readonly FloatingSheetSize[]; /** * Default rail width, as a class. Kept for surfaces that borrow the rail * footprint without being a rail (`MarketingBanner`). */ declare const FLOATING_SHEET_DESKTOP_WIDTH: string; /** * The same widths as inline `style` values. * * A utility class cannot win here: `SheetContent`'s base carries * `data-[side=right]:w-3/4`, which outranks a plain `w-[…]` on specificity, so * the rail silently rendered at the `size` max-width cap instead of its own * width. Inline beats both, and `maxWidth: none` clears the cap so `md` and * `lg` are not clipped back to the default. */ declare const FLOATING_SHEET_SIZE_INLINE_WIDTH: Record; /** Mobile / ≥200% zoom — nearly full viewport; `!` beats SheetContent default `w-3/4`. */ declare const FLOATING_SHEET_COMPACT_WIDTH = "!w-[calc(100vw-1rem)] max-w-none sm:max-w-none"; declare const FLOATING_SHEET_CHROME_CLASS = "flex flex-col border border-border bg-background shadow-[var(--shadow-sheet-panel)] rounded-xl overflow-hidden p-0 gap-0"; declare function floatingSheetWidthClass(compact: boolean, size?: FloatingSheetSize): string; /** * Storage key for a rail's dragged width, keyed by its `contentSlot`. * * Panel width is a shell-level display preference, not product data, so it * sits in the same unnamespaced `shell:` family as the secondary panel and * Ask Leo rail widths rather than under a product prefix. */ declare function floatingSheetWidthStorageKey(contentSlot: string | undefined): string | undefined; /** Storage key for a rail's chosen size, alongside its dragged width. */ declare function floatingSheetSizeStorageKey(contentSlot: string | undefined): string | undefined; /** True when floating sheets should expand to nearly full viewport width. */ declare function useCompactFloatingSheet(): boolean; /** * Inset + sizing for floating product sheets (Export, Properties, invite, folder create): * `Sheet` + `showOverlay={false}` — no dimming layer; panel is inset with rounded corners. */ declare function getFloatingSheetInsetProps(side: FloatingSheetSide, compact?: boolean, size?: FloatingSheetSize): { side: FloatingSheetSide; className: string; style: CSSProperties; }; export { FLOATING_SHEET_CHROME_CLASS, FLOATING_SHEET_COMPACT_WIDTH, FLOATING_SHEET_DESKTOP_WIDTH, FLOATING_SHEET_SIZES, FLOATING_SHEET_SIZE_INLINE_WIDTH, FLOATING_SHEET_SIZE_LABEL, FLOATING_SHEET_SIZE_WIDTH, type FloatingSheetSide, type FloatingSheetSize, floatingSheetSizeStorageKey, floatingSheetWidthClass, floatingSheetWidthStorageKey, getFloatingSheetInsetProps, useCompactFloatingSheet };