import type { QualifiedNameLike } from "node-opcua-data-model"; import type { DataValueT } from "node-opcua-data-value"; import type { NumericRange } from "node-opcua-numeric-range"; import type { CallbackT, StatusCode, StatusCodeCallback } from "node-opcua-status-code"; import type { DataType } from "node-opcua-variant"; import type { ISessionContext } from "./session_context.js"; import type { UAVariable } from "./ua_variable.js"; export interface UAVariableT extends UAVariable { readValue( context?: ISessionContext | null, indexRange?: NumericRange, dataEncoding?: QualifiedNameLike | null ): DataValueT; readValueAsync(context: ISessionContext | null): Promise>; readValueAsync(context: ISessionContext | null, callback: CallbackT>): void; 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; }