/** * @module node-opcua-address-space.DataAccess */ import type { CloneExtraInfo, CloneFilter, CloneOptions, INamespace, UAProperty, UAVariable } from "node-opcua-address-space-base"; import { type LocalizedText } from "node-opcua-data-model"; import { type StatusCode } from "node-opcua-status-code"; import { DataType, Variant } from "node-opcua-variant"; import type { AddMultiStateDiscreteOptions } from "../../api/address_space_ts.js"; import type { ISetStateOptions } from "../../api/interfaces/i_set_state_options.js"; import { UAVariableImplT } from "../ua_variable_impl.js"; export { UAMultiStateDiscrete } from "node-opcua-nodeset-ua"; import type { UAMultiStateDiscreteEx } from "../../api/interfaces/data_access/ua_multistate_discrete_ex.js"; export type { UAMultiStateDiscreteEx }; /** * @class UAMultiStateDiscrete * @internal */ export declare class UAMultiStateDiscreteImplBase extends UAVariableImplT implements UAMultiStateDiscreteEx { /** * The EnumStrings property, installed as a child node by the address space rather than * assigned by this constructor - hence `declare`, which emits nothing. */ readonly enumStrings: UAProperty; getValue(): number; getValueAsString(): string; getIndex(value: string): number; setValue(value: string | number, options?: ISetStateOptions): void; checkVariantCompatibility(value: Variant): StatusCode; _post_initialize(): void; clone(options1: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAMultiStateDiscreteImpl; } /** @internal */ export type UAMultiStateDiscreteImpl = UAMultiStateDiscreteImplBase; /** @internal */ export declare const UAMultiStateDiscreteImpl: typeof UAMultiStateDiscreteImplBase; export declare function promoteToMultiStateDiscrete(node: UAVariable): UAMultiStateDiscreteImpl; /** @internal */ export declare function _addMultiStateDiscrete(namespace: INamespace, options: AddMultiStateDiscreteOptions): UAMultiStateDiscreteImpl;