import { ReactNode } from '../../../../node_modules/react'; import { IconName } from '../../Icon'; import { FlowNodeAccent } from '../nodeRegistry'; export interface FlowConfigDrawerProps { open: boolean; title: string; iconName?: IconName; accent?: FlowNodeAccent; /** Drives the Save button's `disabled` state and which close path fires below. @default false */ isDirty?: boolean; /** * Fires instead of `onClose` when Cancel or the header's close button is pressed while * `isDirty` is true. This shell renders no confirmation UI of its own — no generic confirm * dialog, and explicitly not `07-canvas-peripherals.md`'s `FlowUnsavedChangesDialog`, which is * a different dialog for a different moment (leaving the whole builder, with a save-and-leave * path). The app decides what to show and calls the real `onClose` itself once the user * confirms. Required whenever `isDirty` can ever be true; a drawer that never goes dirty may * omit it. */ onRequestClose?: () => void; /** Fires directly (no guard) when `isDirty` is false, or when the app's own guard resolves to "close". */ onClose: () => void; onSave?: () => void; /** @default !isDirty — CJO disables Save while the form has nothing new to save. */ isSaveDisabled?: boolean; /** @default 450 (CJO's `DRAWER_WIDTH`). Override per-instance, e.g. a wider step within one form. */ width?: number; /** The per-node-kind config form. This component never inspects or constrains its shape. */ children: ReactNode; testId?: string; } /** * A persistent, inline flex sibling of the canvas — not a `Dialog`, not a `Popover`, and not * modal. Opening it animates its own width (`0 → width`) rather than floating over the canvas, * matching CJO's `NodeConfigDrawer` exactly. No Escape-to-close: CJO's own drawer has none, * because it isn't an overlay for Escape to dismiss in the first place. * * Renders absolutely no confirmation dialog of any kind, ever — `onRequestClose` is the * complete hand-off point for a dirty-close guard. The app supplies its own confirmation UI * (or none) and calls `onClose` itself once satisfied. */ export declare function FlowConfigDrawer({ open, title, iconName, accent, isDirty, onRequestClose, onClose, onSave, isSaveDisabled, width, children, testId, }: FlowConfigDrawerProps): import("react/jsx-runtime").JSX.Element;