import type { CloneExtraInfo, CloneFilter, CloneOptions, INamespace, UAProperty, UAVariable } from "node-opcua-address-space-base"; import { type LocalizedText, type LocalizedTextLike } from "node-opcua-data-model"; import { DataType } from "node-opcua-variant"; import type { AddTwoStateDiscreteOptions } from "../../api/address_space_ts.js"; import type { UATwoStateDiscreteEx } from "../../api/interfaces/data_access/ua_two_state_discrete_ex.js"; import type { ISetStateOptions } from "../../api/interfaces/i_set_state_options.js"; import { UAVariableImplT } from "../ua_variable_impl.js"; /** @internal */ export declare class UATwoStateDiscreteImplBase extends UAVariableImplT implements UATwoStateDiscreteEx { /** * Properties installed as child nodes by the address space rather than assigned by this * constructor - hence `declare`, which emits nothing. */ readonly falseState: UAProperty; readonly trueState: UAProperty; _post_initialize(): void; setValue(value: boolean | LocalizedTextLike, options?: ISetStateOptions): void; getValue(): boolean; getValueAsString(): string; getTrueStateAsString(): string; getFalseStateAsString(): string; clone(options1: CloneOptions, optionalFilter?: CloneFilter, extraInfo?: CloneExtraInfo): UAVariable; } /** @internal */ export type UATwoStateDiscreteImpl = UATwoStateDiscreteImplBase; /** @internal */ export declare const UATwoStateDiscreteImpl: typeof UATwoStateDiscreteImplBase; export declare function promoteToTwoStateDiscrete(node: UAVariable): UATwoStateDiscreteEx; /** @internal */ export declare function _addTwoStateDiscrete(namespace: INamespace, options: AddTwoStateDiscreteOptions): UATwoStateDiscreteEx;