import { NodeEditorData } from './types/core'; import { I18nMessages, I18nDictionaries, Locale } from './i18n/types'; import { SettingsManager } from './settings/SettingsManager'; import { ExternalDataReference, NodeDefinition } from './types/NodeDefinition'; import { FallbackDefinition } from './types/NodeDefinitionRegistry'; import { GridLayoutConfig, LayerDefinition } from './types/panels'; import { PortPositionBehavior } from './types/portPosition'; import { NodeEditorRendererOverrides } from './types/renderers'; import { NodeEditorInteractionSettingsPatch } from './types/interaction'; export type NodeEditorProps = { /** Initial data for uncontrolled mode (like defaultValue) */ initialData?: Partial; /** Data for controlled mode (like value) */ data?: NodeEditorData; onDataChange?: (data: NodeEditorData) => void; onSave?: (data: NodeEditorData) => void | Promise; onLoad?: () => NodeEditorData | Promise; /** Custom node definitions */ nodeDefinitions?: NodeDefinition[]; /** Whether to include default node definitions */ includeDefaultDefinitions?: boolean; /** * Fallback definition for unknown node types. * - `true`: Use the default error node definition factory * - `false` or `undefined`: No fallback (returns undefined for unknown types) * - `NodeDefinition`: Use a fixed definition for all unknown types * - `(type: string) => NodeDefinition`: Use a factory function */ fallbackDefinition?: FallbackDefinition | boolean; /** External data references for nodes */ externalDataRefs?: Record; /** Settings manager instance */ settingsManager?: SettingsManager; /** Grid layout configuration */ gridConfig?: GridLayoutConfig; /** Grid layer definitions */ gridLayers?: LayerDefinition[]; locale?: Locale; fallbackLocale?: Locale; messagesOverride?: Partial>>; /** Additional locale dictionaries to make available beyond the default English bundle */ localeDictionaries?: I18nDictionaries; /** Override: enable/disable auto-save regardless of settings */ autoSaveEnabled?: boolean; /** Override: auto-save interval in seconds */ autoSaveInterval?: number; /** Maximum number of history entries to keep */ historyMaxEntries?: number; /** Renderer overrides for core editor visuals */ renderers?: NodeEditorRendererOverrides; /** Customizes how node ports are positioned and rendered */ portPositionBehavior?: PortPositionBehavior; /** Overrides for canvas interaction behavior (pan, pinch zoom, context menu) */ interactionSettings?: NodeEditorInteractionSettingsPatch; }; /** * NodeEditor - Main component that integrates all node editor functionality * Provides three separate contexts for managing different aspects of the editor */ export declare function NodeEditor({ initialData, data, onDataChange, onSave, onLoad, nodeDefinitions, includeDefaultDefinitions, fallbackDefinition, externalDataRefs, settingsManager, gridConfig, gridLayers, locale, fallbackLocale, messagesOverride, localeDictionaries, autoSaveEnabled, autoSaveInterval, historyMaxEntries, renderers, portPositionBehavior, interactionSettings, }: NodeEditorProps): import("react/jsx-runtime").JSX.Element;