import { type INamespace, type ISessionContext, type ListenerSignature, type UAEventType, type UAObject, type UAVariable } from "node-opcua-address-space-base"; import { type ByteString } from "node-opcua-basic-types"; import { LocalizedText, type LocalizedTextLike } from "node-opcua-data-model"; import { NodeId } from "node-opcua-nodeid"; import { StatusCode } from "node-opcua-status-code"; import { TimeZoneDataType } from "node-opcua-types"; import { type VariantLike, type VariantOptions } from "node-opcua-variant"; import type { ConditionInfoOptions } from "../../source/interfaces/alarms_and_conditions/condition_info_i"; import type { ConditionSnapshot } from "../../source/interfaces/alarms_and_conditions/condition_snapshot"; import type { InstantiateConditionOptions } from "../../source/interfaces/alarms_and_conditions/instantiate_condition_options"; import type { UAConditionEvents, UAConditionEx } from "../../source/interfaces/alarms_and_conditions/ua_condition_ex"; import type { ISetStateOptions } from "../../source/interfaces/i_set_state_options"; import type { AddressSpacePrivate } from "../address_space_private"; import { UABaseEventImplBase } from "./ua_base_event_impl"; export declare class UAConditionImplBase = UAConditionEvents> extends UABaseEventImplBase { static defaultSeverity: number; static typeDefinition: NodeId; static instantiate(namespace: INamespace, conditionTypeId: NodeId | string | UAEventType, options: InstantiateConditionOptions, data?: Record): UAConditionImpl; static install_condition_refresh_handle(addressSpace: AddressSpacePrivate): void; /** * * Helper method to handle condition methods that takes a branchId and a comment * */ static with_condition_method(inputArguments: VariantLike[], context: ISessionContext, callback: (err: Error | null, result?: { statusCode: StatusCode; }) => void, inner_func: (eventId: ByteString, comment: LocalizedText, branch: ConditionSnapshot, conditionNode: UAConditionImpl) => StatusCode): void; private _branch0; private _previousRetainFlag; private _branches; /** * @private */ initialize(): void; /** * @private */ post_initialize(): void; getBranchCount(): number; getBranches(): ConditionSnapshot[]; getBranchIds(): NodeId[]; /** */ createBranch(): ConditionSnapshot; /** */ deleteBranch(branch: ConditionSnapshot): void; private get $(); /** */ getEnabledState(): boolean; /** */ getEnabledStateAsString(): string; /** * returns {StatusCode} StatusCodes.Good if successful or BadConditionAlreadyEnabled/BadConditionAlreadyDisabled * @private */ _setEnabledState(requestedEnabledState: boolean, options?: ISetStateOptions): StatusCode; /** * * @private */ setEnabledState(requestedEnabledState: boolean, options?: ISetStateOptions): StatusCode; /** */ setReceiveTime(time: Date): void; /** */ setLocalTime(time: TimeZoneDataType): void; /** */ setTime(time: Date): void; _assert_valid(): void; /** */ conditionOfNode(): UAObject | UAVariable | null; /** * Raise a Instance Event * (see also UAObject#raiseEvent to raise a transient event) * @param branch the condition branch to raise * @param renewEventId true if event Id of the condition branch should be renewed */ raiseConditionEvent(branch: ConditionSnapshot, renewEventId: boolean): void; /** * * @param conditionInfo {ConditionInfo} * */ raiseNewCondition(conditionInfo: ConditionInfoOptions): void; raiseNewBranchState(branch: ConditionSnapshot): void; /** */ currentBranch(): ConditionSnapshot; _resend_conditionEvents(): 0 | 1; /** * @private */ _raiseAuditConditionCommentEvent(sourceName: string, conditionEventId: Buffer, comment: LocalizedTextLike): void; findBranchForEventId(eventId: Buffer | null): ConditionSnapshot | null; protected evaluateConditionsAfterEnabled(): void; } export type UAConditionImpl = UAConditionImplBase & UAConditionEx; export declare const UAConditionImpl: new () => UAConditionImpl;