/** * @module node-opcua-address-space */ import type { BaseNode, BindVariableOptions, INamespace, ISessionContext, UAReference, UAVariable } from "node-opcua-address-space-base"; import { type LocalizedText, type LocalizedTextLike, type QualifiedNameLike } from "node-opcua-data-model"; import type { DataValueT } from "node-opcua-data-value"; import { type NodeId } from "node-opcua-nodeid"; import type { NumericRange } from "node-opcua-numeric-range"; import { type StatusCode, type StatusCodeCallback } from "node-opcua-status-code"; import { DataType } from "node-opcua-variant"; import type { AddTwoStateVariableOptions } from "../../source/address_space_ts"; import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options"; import type { UATwoStateVariableEx } from "../../source/ua_two_state_variable_ex"; import { UAVariableImplT } from "../ua_variable_impl"; export declare function _install_TwoStateVariable_machinery(node: UAVariable, options: TwoStateVariableInitializeOptions): UATwoStateVariableEx; export declare function promoteToTwoStateVariable(node: UAVariable): UATwoStateVariableEx; export interface TwoStateVariableInitializeOptions { trueState?: LocalizedTextLike; falseState?: LocalizedTextLike; isFalseSubStateOf?: NodeId | string | BaseNode; isTrueSubStateOf?: NodeId | string | BaseNode; value?: boolean | BindVariableOptions; } export declare interface UATwoStateVariableImpl extends UATwoStateVariableEx { on(): this; once(): this; readValue(context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null): DataValueT; writeValue(context: ISessionContext, dataValue: DataValueT, indexRange: NumericRange | null, callback: StatusCodeCallback): void; writeValue(context: ISessionContext, dataValue: DataValueT, callback: StatusCodeCallback): void; writeValue(context: ISessionContext, dataValue: DataValueT, indexRange?: NumericRange | null): Promise; } /*** * @class UATwoStateVariable */ export declare class UATwoStateVariableImpl extends UAVariableImplT implements UATwoStateVariableEx { private _trueState?; private _falseState?; get isFalseSubStateOf(): UATwoStateVariableEx; get isTrueSubStateOf(): UATwoStateVariableEx; initialize(options: TwoStateVariableInitializeOptions): void; _postInitialize(): void; /** */ setValue(boolValue: boolean, options?: ISetStateOptions): void; /** */ getValue(): boolean; /** */ getValueAsString(): string; getTrueState(): LocalizedText; getFalseState(): LocalizedText; _add_backward_reference(reference: UAReference): void; } export declare function _addTwoStateVariable(namespace: INamespace, options: AddTwoStateVariableOptions): UATwoStateVariableEx;