import type { CommandVariant, ServiceReferenceVariant, XMLData } from '@smartdcc/duis-parser'; import type { Node as RedNode, NodeMessage } from 'node-red'; import type { FuseResultMatch } from 'fuse.js'; export interface Properties { template: string; templateValid: 'true' | 'false'; templateBody?: string; minimal: boolean; output?: string; enableInject: boolean; originatorEUI?: string; originatorEUI_type: 'default' | 'msg' | 'flow' | 'global' | 'eui'; targetEUI?: string; targetEUI_type: 'default' | 'msg' | 'flow' | 'global' | 'eui'; deafultName?: string; } export interface Node extends RedNode { template: string; templateBody?: XMLData; minimal: boolean; output: (msg: NodeMessage, value: unknown) => void; originatorEUI: (msg: NodeMessage) => Promise; targetEUI: (msg: NodeMessage) => Promise; } export interface TemplateDTO { tag: string; serviceReferenceVariant: ServiceReferenceVariant; commandVariant: CommandVariant; info?: string; gbcs?: string; gbcsVariant?: string; gbcsTitle?: string; matches: FuseResultMatch[]; } export type TemplateLookupDTO = Omit & { body: XMLData; };