export interface FlowVariableDef { id: string; name: string; /** Short type label rendered as a Chip (e.g. "string", "number"). */ type: string; /** The literal token copied to the clipboard on click. */ token: string; } export interface FlowVariableGroup { id: string; label: string; variables: FlowVariableDef[]; } export interface FlowVariablesPillProps { /** * Replaces CJO's fixed `GROUPS` array + `MOCK_VARIABLES` lookup (`VariablesPill.tsx:2,12`) — * the design system ships no journey-token catalogue or grouping vocabulary of its own. */ groups: FlowVariableGroup[]; /** @default 'Variables' — CJO's literal button label (`VariablesPill.tsx:57`). */ label?: string; /** * @default writes `variable.token` to `navigator.clipboard`, matching CJO exactly * (`VariablesPill.tsx:84`). Override for custom copy handling (e.g. a toast, telemetry). */ onCopyVariable?: (variable: FlowVariableDef, group: FlowVariableGroup) => void; testId?: string; } /** * Top-left "Variables" pill that opens a popover of app-supplied variable groups, each row * copyable. Ported from CJO's `VariablesPill` (`src/features/journeys/builder/VariablesPill.tsx`). * A plain anchored button + popover — no `@xyflow/react` import, no `nodrag`/`nopan` classes: * it lives in a ``, not inside a draggable node. */ export declare function FlowVariablesPill({ groups, label, onCopyVariable, testId }: FlowVariablesPillProps): import("react/jsx-runtime").JSX.Element;