import * as DialogPrimitive from '@radix-ui/react-dialog'; import { type VariantProps } from 'class-variance-authority'; import { type CSSProperties, type ComponentPropsWithoutRef, type HTMLAttributes, type ReactNode } from 'react'; /** Unified overlay backdrop — dimmed, no blur. Single source of truth for * every full-screen backdrop (Drawer, AppLayoutDrawer, MobileBurgerMenu, * TimeTracker popover) so all panels dim the page identically. */ declare const OVERLAY_BACKDROP_CLASS = "bg-ods-overlay"; declare const Drawer: import("react").FC; declare const DrawerTrigger: import("react").ForwardRefExoticComponent>; declare const DrawerClose: import("react").ForwardRefExoticComponent>; declare const DrawerPortal: import("react").FC; declare const DrawerOverlay: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>; declare const drawerVariants: (props?: ({ side?: "bottom" | "left" | "right" | "top" | null | undefined; flush?: boolean | null | undefined; } & import("class-variance-authority/types").ClassProp) | undefined) => string; type DrawerSide = 'right' | 'left' | 'top' | 'bottom'; interface DrawerContentProps extends Omit, 'style'>, VariantProps { /** Remove outer wrapper padding and panel rounded/border/padding so the * panel attaches flush to the viewport edge. Use for full-height side * panels (e.g. the embedded chat). */ flush?: boolean; /** Enable the drag-to-resize handle on the inside-facing edge. Only * active for `side="left"` / `side="right"` (or `top`/`bottom`) on * non-mobile viewports. */ resizable?: boolean; /** Minimum allowed size (px) when resizable. */ minSize?: number; /** Maximum allowed size (px) when resizable. Also clamped by viewport. */ maxSize?: number; /** Initial size (px) when no localStorage entry exists. */ defaultSize?: number; /** localStorage key for persisting the size across sessions. */ storageKey?: string; /** Pixel breakpoint below which `resizable` is disabled and inline * size is not applied (so consumer CSS can render full-viewport). * Defaults to 800 — the library's Tailwind `md` breakpoint, so the JS * mobile switch and the `md:` panel styles flip together. */ mobileBreakpoint?: number; /** Optional className applied to the overlay. */ overlayClassName?: string; /** Optional aria-label for the resize handle. */ resizeAriaLabel?: string; /** Inline style merged onto the outer animated wrapper (DialogPrimitive.Content). * Use this for animation-end transform/animation resets so `position: fixed` * descendants can escape the wrapper's containing block. */ style?: CSSProperties; /** Inline style merged onto the inner panel (next to the resize-driven size). */ panelStyle?: CSSProperties; /** Optional className applied to the inner panel. (Alias for `className`.) */ panelClassName?: string; /** Offset the drawer's top edge below the app header + announcement bar. * Measured live via ResizeObserver so it tracks height changes. */ offsetHeader?: boolean; } declare const DrawerContent: import("react").ForwardRefExoticComponent>; declare const DrawerHeader: { ({ className, children, ...props }: HTMLAttributes): import("react").JSX.Element; displayName: string; }; interface DrawerTitleProps extends ComponentPropsWithoutRef { /** Optional header actions rendered between the title and the close button. */ actions?: ReactNode; /** Hide the close (X) button. */ hideClose?: boolean; } declare const DrawerTitle: import("react").ForwardRefExoticComponent>; declare const DrawerDescription: import("react").ForwardRefExoticComponent, "ref"> & import("react").RefAttributes>; declare const DrawerBody: { ({ className, ...props }: HTMLAttributes): import("react").JSX.Element; displayName: string; }; declare const DrawerFooter: { ({ className, ...props }: HTMLAttributes): import("react").JSX.Element; displayName: string; }; export { OVERLAY_BACKDROP_CLASS, Drawer, DrawerTrigger, DrawerClose, DrawerPortal, DrawerOverlay, DrawerContent, DrawerHeader, DrawerTitle, DrawerDescription, DrawerBody, DrawerFooter, }; export type { DrawerContentProps, DrawerSide, DrawerTitleProps }; //# sourceMappingURL=drawer.d.ts.map