/** * @module node-opcua-address-space.DataAccess */ import type { CloneExtraInfo, CloneFilter, CloneOptions, INamespace, UAVariable } from "node-opcua-address-space-base"; import type { UAMultiStateDiscrete_Base } from "node-opcua-nodeset-ua"; import { type StatusCode } from "node-opcua-status-code"; import { DataType, Variant } from "node-opcua-variant"; import type { AddMultiStateDiscreteOptions } from "../../source/address_space_ts"; import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options"; import { UAVariableImpl } from "../ua_variable_impl"; export { UAMultiStateDiscrete } from "node-opcua-nodeset-ua"; export interface UAMultiStateDiscreteEx extends UAMultiStateDiscrete_Base { getValue(): number; getValueAsString(): string; getIndex(value: string): number; setValue(value: string | number, options?: ISetStateOptions): void; checkVariantCompatibility(value: Variant): StatusCode; } /** * @class UAMultiStateDiscrete */ export declare class UAMultiStateDiscreteImplBase extends UAVariableImpl { private get $7(); 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; } export type UAMultiStateDiscreteImpl = UAMultiStateDiscreteImplBase & UAMultiStateDiscreteEx; export declare const UAMultiStateDiscreteImpl: new () => UAMultiStateDiscreteImpl; export declare function promoteToMultiStateDiscrete(node: UAVariable): UAMultiStateDiscreteImpl; export declare function _addMultiStateDiscrete(namespace: INamespace, options: AddMultiStateDiscreteOptions): UAMultiStateDiscreteImpl;