import type { CloneExtraInfo, CloneFilter, CloneOptions, INamespace, UAProperty, UAVariable } from "node-opcua-address-space-base"; import { type Int32, type Int64, type UInt64 } from "node-opcua-basic-types"; import { type LocalizedText } from "node-opcua-data-model"; import type { DTEnumValue } from "node-opcua-nodeset-ua"; import { type StatusCode } from "node-opcua-status-code"; import { DataType, Variant } from "node-opcua-variant"; import type { AddMultiStateValueDiscreteOptions } from "../../api/address_space_ts.js"; import type { UAMultiStateValueDiscreteEx } from "../../api/interfaces/data_access/ua_multistate_value_discrete_ex.js"; import type { ISetStateOptions } from "../../api/interfaces/i_set_state_options.js"; import { UAVariableImpl } from "../ua_variable_impl.js"; type Number = number | Int64 | UInt64; /** @internal */ export declare class UAMultiStateValueDiscreteImplBase extends UAVariableImpl { /** * Properties installed as child nodes by the address space rather than assigned by this * constructor - hence `declare`, which emits nothing. */ readonly enumValues: UAProperty; readonly valueAsText: UAProperty; setValue(value: string | number | Int64, options?: ISetStateOptions): void; getValueAsString(): string | string[]; getValueAsNumber(): number; checkVariantCompatibility(value: Variant): StatusCode; clone(options1: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAMultiStateValueDiscreteImpl; /** * @private */ _isValueInRange(value: number): boolean; /** * * @private */ _enumValueIndex(): Record; /** * * @private */ _setValue(value: Int64, _options?: ISetStateOptions): void; /** * * @private */ findValueAsText(value?: number | Int64): Variant; _getDataType(): DataType; /** * * @private */ _post_initialize(): void; } /** @internal */ export type UAMultiStateValueDiscreteImpl = UAMultiStateValueDiscreteImplBase & UAMultiStateValueDiscreteEx; /** @internal */ export declare const UAMultiStateValueDiscreteImpl: new () => UAMultiStateValueDiscreteImpl; export declare function promoteToMultiStateValueDiscrete(node: UAVariable): UAMultiStateValueDiscreteImpl; /** @internal */ export declare function _addMultiStateValueDiscrete(namespace: INamespace, options: AddMultiStateValueDiscreteOptions): UAMultiStateValueDiscreteEx; export declare function validateIsNumericDataType(dataTypeValue: unknown): void; /** @deprecated: use validateIsNumericDataType instead */ export declare const validateDataType: typeof validateIsNumericDataType; export {};