import { Driver } from '../Definitions/Global/Drivers.js'; import type { MaybeArray } from '../Utils.js'; export interface DriverDef { id: Driver.Type; editor: string; hide?: string; } export interface SendCommandDef { id: string; } export interface ParamDef { id: string; editor: string; init: string; optional?: string; } export interface AcceptCommandDef { name?: string; id?: string; p?: MaybeArray; } export interface NodeDef extends Nested<'st'> { id: string; nls: string; nodeType: string; eventMap: string; links: Link; sts: { st: MaybeArray }; cmds: { sends: { cmd: MaybeArray }; accepts: { cmd: MaybeArray }; }; } export interface Accept { cmd: Cmd[]; } export interface Cmd { accepts: Accept; } export interface Link { linkdef: string; } export interface Rsp { link: Link[]; } export interface Link { ctl: string; rsp: Rsp; } export interface NodeDefs { nodeDef: MaybeArray; } type n = NestedObject<'nodeDef'>; type s = ReturnType>>; type NestedObject