import { type ReactNode } from 'react'; /** * CMP-0017 BottomSheet — Drawer alias (Radix-free sheet from bottom). * Wave A harden: focus trap, restore, busy Escape/backdrop, scroll lock, labelledby, inert. * Short enter/exit via motion tokens + motion-reduce; dvh + safe-area shell. */ export interface BottomSheetProps { readonly open: boolean; readonly onClose: () => void; readonly title?: string; readonly children: ReactNode; readonly closeLabel?: string; readonly className?: string; readonly testId?: string; /** When true, Escape and backdrop dismiss are no-ops; close control is disabled. */ readonly busy?: boolean; /** Alias of busy. */ readonly pending?: boolean; /** When false, backdrop click does not dismiss (default true). */ readonly closeOnOverlayClick?: boolean; readonly describedBy?: string; readonly hideHeader?: boolean; readonly titleId?: string; /** * `flush` removes default panel padding so media can bleed edge-to-edge. * Safe-area bottom inset is still applied on the panel. */ readonly contentPadding?: 'default' | 'flush'; /** * `flex` — column flex + overflow hidden (child owns scroll regions). * Default `scroll` keeps legacy overflow-auto on the panel. */ readonly panelLayout?: 'scroll' | 'flex'; /** Extra classes for the fixed outer container (e.g. `lg:items-center`). */ readonly containerClassName?: string; } export declare function BottomSheet({ open, onClose, title, children, closeLabel, className, testId, busy, pending, closeOnOverlayClick, describedBy, hideHeader, titleId: titleIdProp, contentPadding, panelLayout, containerClassName, }: BottomSheetProps): JSX.Element | null; /** Drawer = BottomSheet alias only (registry). */ export declare const Drawer: typeof BottomSheet; export type DrawerProps = BottomSheetProps; //# sourceMappingURL=BottomSheet.d.ts.map