/** * @module node-opcua-address-space */ import type { AddBaseNodeOptions, AddVariableOptionsWithoutValue, BaseNode, BindVariableOptions, IVariableHistorian, IVariableHistorianOptions, UAVariable, UAVariableT, UAVariableType, VariableStuff } from "node-opcua-address-space-base"; import type { Int64, UAString, UInt32 } from "node-opcua-basic-types"; import type { LocalizedText, LocalizedTextLike, QualifiedNameLike } from "node-opcua-data-model"; import type { NodeId, NodeIdLike } from "node-opcua-nodeid"; import type { UAFolder } from "node-opcua-nodeset-ua"; import type { DataType } from "node-opcua-variant"; export interface EnumValueTypeOptionsLike { value?: Int64 | UInt32; displayName?: LocalizedTextLike | null; description?: LocalizedTextLike | null; } export interface AddMultiStateValueDiscreteOptions extends AddVariableOptionsWithoutValue { enumValues: EnumValueTypeOptionsLike[] | { [key: string]: number; }; value?: UInt32 | Int64 | BindVariableOptions; } export declare enum EUEngineeringUnit { degree_celsius = 0 } export interface AddMultiStateDiscreteOptions extends AddBaseNodeOptions, VariableStuff { enumStrings: string[]; typeDefinition?: string | NodeId | UAVariableType; postInstantiateFunc?: (node: UAVariable) => void; value?: number | BindVariableOptions; } export type AddStateVariableOptionals = "EffectiveDisplayName" | "Name" | "Number" | string; export interface AddStateVariableOptions extends AddVariableOptionsWithoutValue { id?: NodeIdLike; optionals?: AddStateVariableOptionals[]; } export type AddTwoStateVariableOptionals = AddStateVariableOptionals | "TransitionTime" | "EffectiveTransitionTime" | "TrueState" | "FalseState"; export interface AddTwoStateVariableOptions extends AddStateVariableOptions { falseState?: LocalizedTextLike; trueState?: LocalizedTextLike; optionals?: AddTwoStateVariableOptionals[]; isFalseSubStateOf?: NodeId | string | BaseNode; isTrueSubStateOf?: NodeId | string | BaseNode; value?: boolean | BindVariableOptions; } export interface AddTwoStateDiscreteOptions extends AddVariableOptionsWithoutValue { falseState?: LocalizedTextLike; trueState?: LocalizedTextLike; optionals?: string[]; isFalseSubStateOf?: NodeIdLike | BaseNode; isTrueSubStateOf?: NodeIdLike | BaseNode; value?: boolean | BindVariableOptions; /** @example "" */ definition?: string; } export interface RangeVariable extends UAVariable { low: UAVariableT; high: UAVariableT; } export interface XAxisDefinitionVariable extends UAVariable { engineeringUnits: UAVariableT; title: UAVariableT; euRange: RangeVariable; } export interface UATypesFolder extends UAFolder { dataTypes: UAFolder; eventTypes: UAFolder; objectTypes: UAFolder; referenceTypes: UAFolder; variableTypes: UAFolder; } export interface IHistorizerFactory { create(node: UAVariable, options: IVariableHistorianOptions): IVariableHistorian; } export interface CreateExtObjArrayNodeOptions { browseName: QualifiedNameLike; complexVariableType: string | NodeId; variableType: string | NodeId; indexPropertyName: string; minimumSamplingInterval?: number; }