import type { ConfigSchema, WorkflowNode, WorkflowEdge, NodeUIExtensions, AuthProvider } from '../types/index.js'; import type { UISchemaElement } from '../types/uischema.js'; interface Props { /** Optional workflow node (if provided, schema and values are derived from it) */ node?: WorkflowNode; /** Direct config schema (used when node is not provided) */ schema?: ConfigSchema; /** * Optional UI Schema that controls field layout and grouping. * When provided, fields render according to the UISchema tree structure. * When absent, falls back to node.data.metadata.uiSchema, then flat rendering. * @see https://jsonforms.io/docs/uischema */ uiSchema?: UISchemaElement; /** Direct config values (used when node is not provided) */ values?: Record; /** Whether to show UI extension settings section */ showUIExtensions?: boolean; /** Optional workflow ID for context in external links */ workflowId?: string; /** Whether to also save the workflow when saving config */ saveWorkflowWhenSavingConfig?: boolean; /** * All workflow nodes (used for deriving template variables from connected nodes). * When provided along with workflowEdges, enables autocomplete for template fields. */ workflowNodes?: WorkflowNode[]; /** * All workflow edges (used for finding connections to derive template variables). * When provided along with workflowNodes, enables autocomplete for template fields. */ workflowEdges?: WorkflowEdge[]; /** Auth provider for API requests (used for template variable API mode) */ authProvider?: AuthProvider; /** Callback when any field value changes (fired on blur for immediate sync) */ onChange?: (config: Record, uiExtensions?: NodeUIExtensions) => void; /** Callback when form is saved (includes both config and extensions if enabled) */ onSave?: (config: Record, uiExtensions?: NodeUIExtensions) => void; /** Callback when form is cancelled */ onCancel?: () => void; } declare const ConfigForm: import("svelte").Component; type ConfigForm = ReturnType; export default ConfigForm;