import { ReactNode } from '../../../../node_modules/react'; export interface FlowSidePanelProps { open: boolean; /** @default 320 — CJO's `PANEL_WIDTH` (`AIPanel.tsx:9`). */ width?: number; /** @default 'left' — CJO's panel sits left of the canvas (`AIPanel.tsx`'s outer `Box` precedes the canvas in JSX order). */ side?: 'left' | 'right'; /** * The entire panel body — header, close button, chat UI, everything. This component ships * none of it: no icon, no title, no message list, no "Chat coming soon" placeholder. It is a * slot-only port, suited for an AI/copilot panel among other uses — the toggle button that * flips `open` lives in the app's own content rendered into `FlowCanvasToolbar.leadingSlot`; * this component adds nothing to the toolbar and has no opinion on what triggers it. */ children?: ReactNode; testId?: string; } /** * A width-animated container sibling to the canvas — ported from CJO's `AIPanel` * (`src/features/journeys/builder/AIPanel.tsx`), generalized: named `FlowSidePanel` rather than * after its one CJO use case, since the component ships zero AI-specific logic. * * Open/close only animates `width` (0 → `width`), matching CJO's exact transition * (`theme.transitions.create('width', { easing: sharp, duration: enteringScreen })`, * `AIPanel.tsx:25-29`) — the same easing/duration pair `FlowConfigDrawer` and `useCenterOnNode` * already coordinate around. Ships zero chat/AI semantics; `children` is the entire body. */ export declare function FlowSidePanel({ open, width, side, children, testId }: FlowSidePanelProps): import("react/jsx-runtime").JSX.Element;