import { TonalSemanticColor } from '../../../theme/tonal'; import { IconName } from '../../Icon'; /** * A semantic key from the DS palette, or a bare hex escape hatch for brand colours * that are not and never will be semantic (e.g. WhatsApp green `#25D366`). */ export type FlowNodeAccent = TonalSemanticColor | `#${string}`; export interface FlowNodeKindDef { /** React Flow node `type`. Free-form: the design system does not own this vocabulary. */ kind: string; label: string; iconName: IconName; accent: FlowNodeAccent; /** Grouping key for the node palette. The group has no colour of its own. */ category?: string; /** @default true — most nodes take an incoming edge; triggers are the exception. */ hasTargetHandle?: boolean; /** @default false — only for nodes whose single output is not user-configurable. */ hasDefaultSourceHandle?: boolean; } export type FlowNodeRegistry = Record;