import { type ChatbotViewProps } from "../ChatbotView"; import { DisplayMode, Size, type DrawerLayoutProps } from "@leafygreen-ui/drawer"; import { type GlyphName } from "@leafygreen-ui/icon"; export type DrawerViewProps = ChatbotViewProps & { /** Explicitly controls whether the drawer is open or closed. When omitted, the drawer reads from the shared `useChatbotContext()` state so that `ButtonTrigger`, `HotkeyTrigger`, etc. work automatically. */ open?: boolean; /** Called when the drawer's open state changes (e.g. user clicks close). When omitted, the drawer calls `closeChat()` / `openChat()` from context. */ onOpenChange?: (isOpen: boolean) => void; /** Whether the drawer can be resized by dragging. Only applies in embedded mode. @default true */ resizable?: boolean; /** Width of the drawer panel. @default Size.Default (432px) */ size?: Size; /** How the drawer is displayed relative to page content. - `overlay`: floats above content (default) - `embedded`: renders inline, shifting content aside @default DisplayMode.Overlay */ displayMode?: DisplayMode; /** Title shown in the drawer header. @default "MongoDB Assistant" */ drawerTitle?: React.ReactNode; /** Additional toolbar items rendered alongside the chatbot's own toolbar tab. Pass items here to add extra tabs to the toolbar while still getting the chatbot tab automatically. @default [] */ toolbarData?: DrawerLayoutProps["toolbarData"]; /** Page content rendered alongside the drawer. */ children?: React.ReactNode; /** Whether to add default padding inside the drawer. @default false */ hasPadding?: boolean; /** Custom className applied to the outer `DrawerLayout` wrapper. */ drawerLayoutClassName?: string; /** Custom className applied to the inner `Drawer` panel. */ drawerClassName?: string; }; export declare function DrawerView(props: DrawerViewProps): import("react/jsx-runtime").JSX.Element; export type ToolbarItem = NonNullable[number]; export type ChatDrawerToolbarItemOptions = ChatbotViewProps & { /** Title shown in the drawer header when opened from the toolbar. @default "MongoDB Assistant" */ title?: React.ReactNode; /** The toolbar item's `id`. @default "chatbotDrawer" */ id?: string; /** Label shown on the toolbar icon button. @default "MongoDB Assistant" */ label?: string; /** LeafyGreen glyph name for the toolbar icon. @default "Sparkle" */ glyph?: GlyphName | "Assistant"; /** Whether to add default padding inside the drawer content when rendered from a toolbar. @default false */ hasPadding?: boolean; };