import { BACnetClientEvents, TypedEventEmitter } from './EventTypes'; import { BACNetAddress, BACNetObjectID, BACNetPropertyID, BACNetAppData, BACNetWritePropertyValues, BACNetTimestamp, ClientOptions, WhoIsOptions, ServiceOptions, ReadPropertyOptions, WritePropertyOptions, WriteFileOptions, DecodeAcknowledgeSingleResult, DecodeAcknowledgeMultipleResult, BACNetReadAccessSpecification, DeviceCommunicationOptions, ReinitializeDeviceOptions, EncodeBuffer, BACNetEventInformation, BACNetReadAccess, BACNetAlarm, BACNetBitString, PropertyReference, TypedValue, WritePropertyMultipleObject, DecodeAtomicWriteFileResult, DecodeAtomicReadFileResult, ReadRangeAcknowledge, EnrollmentOptions, EnrollmentSummaryAcknowledge, EventNotifyDataParams } from './types'; export default class BACnetClient extends TypedEventEmitter { private _settings; private _transport; private _pendingForeignDeviceRegistrations?; private _invokeCounter; private _requestManager; private _lastSequenceNumber; private _segmentStore; private _isClosed; constructor(options?: ClientOptions); private _send; private _getInvokeId; private _getApduBuffer; private _normalizeAddress; private _getPendingForeignDeviceRegistrations; private _processError; private _processAbort; private _segmentAckResponse; private _performDefaultSegmentHandling; private _processSegment; private _processServiceRequest; private _handlePdu; private _handleNpdu; private _receiveData; private _receiveError; whoIs(receiverOrOptions?: BACNetAddress | WhoIsOptions, options?: WhoIsOptions): void; whoIsThroughBBMD(bbmd: BACNetAddress, options?: WhoIsOptions): void; timeSync(receiver: BACNetAddress, dateTime: Date): void; timeSyncUTC(receiver: BACNetAddress, dateTime: Date): void; registerForeignDevice(receiver: BACNetAddress, ttl: number): Promise; readProperty(receiver: BACNetAddress, objectId: BACNetObjectID, propertyId: number, options?: ReadPropertyOptions): Promise; writeProperty(receiver: BACNetAddress, objectId: BACNetObjectID, propertyId: number, values: BACNetWritePropertyValues, options: WritePropertyOptions): Promise; readPropertyMultiple(receiver: BACNetAddress, propertiesArray: BACNetReadAccessSpecification[], options?: ServiceOptions): Promise; writePropertyMultiple(receiver: BACNetAddress, values: WritePropertyMultipleObject[], options?: ServiceOptions): Promise; confirmedCOVNotification(receiver: BACNetAddress, monitoredObject: BACNetObjectID, subscribeId: number, initiatingDeviceId: number, lifetime: number, values: Array<{ property: PropertyReference; value: TypedValue[]; }>, options?: ServiceOptions): Promise; deviceCommunicationControl(receiver: BACNetAddress, timeDuration: number, enableDisable: number, options?: DeviceCommunicationOptions): Promise; reinitializeDevice(receiver: BACNetAddress, state: number, options?: ReinitializeDeviceOptions): Promise; writeFile(receiver: BACNetAddress, objectId: BACNetObjectID, position: number, fileBuffer: number[][], options?: WriteFileOptions): Promise; readFile(receiver: BACNetAddress, objectId: BACNetObjectID, position: number, count: number, options?: ServiceOptions): Promise; readRange(receiver: BACNetAddress, objectId: BACNetObjectID, idxBegin: number, quantity: number, options?: ServiceOptions): Promise; subscribeCov(receiver: BACNetAddress, objectId: BACNetObjectID, subscribeId: number, cancel: boolean, issueConfirmedNotifications: boolean, lifetime: number, options?: ServiceOptions): Promise; subscribeProperty(receiver: BACNetAddress, objectId: BACNetObjectID, monitoredProperty: BACNetPropertyID, subscribeId: number, cancel: boolean, issueConfirmedNotifications: boolean, options?: ServiceOptions): Promise; unconfirmedCOVNotification(receiver: BACNetAddress, subscriberProcessId: number, initiatingDeviceId: number, monitoredObjectId: BACNetObjectID, timeRemaining: number, values: Array<{ property: { id: number; index?: number; }; value: BACNetAppData[]; }>): void; createObject(receiver: BACNetAddress, objectId: BACNetObjectID, values: Array<{ property: { id: number; index?: number; }; value: BACNetAppData[]; }>, options?: ServiceOptions): Promise; deleteObject(receiver: BACNetAddress, objectId: BACNetObjectID, options?: ServiceOptions): Promise; removeListElement(receiver: BACNetAddress, objectId: BACNetObjectID, reference: { id: number; index: number; }, values: BACNetAppData[], options?: ServiceOptions): Promise; addListElement(receiver: BACNetAddress, objectId: BACNetObjectID, reference: { id: number; index: number; }, values: BACNetAppData[], options?: ServiceOptions): Promise; getAlarmSummary(receiver: BACNetAddress, options?: ServiceOptions): Promise; getEventInformation(receiver: BACNetAddress, objectId?: BACNetObjectID | null, options?: ServiceOptions): Promise; acknowledgeAlarm(receiver: BACNetAddress, objectId: BACNetObjectID, eventState: number, ackText: string, evTimeStamp: BACNetTimestamp, ackTimeStamp: BACNetTimestamp, options?: ServiceOptions): Promise; confirmedPrivateTransfer(receiver: BACNetAddress, vendorId: number, serviceNumber: number, data: number[], options?: ServiceOptions): Promise; unconfirmedPrivateTransfer(receiver: BACNetAddress, vendorId: number, serviceNumber: number, data: number[]): void; getEnrollmentSummary(receiver: BACNetAddress, acknowledgmentFilter: number, options?: EnrollmentOptions): Promise; unconfirmedEventNotification(receiver: BACNetAddress, eventNotification: EventNotifyDataParams): void; confirmedEventNotification(receiver: BACNetAddress, eventNotification: EventNotifyDataParams, options?: ServiceOptions): Promise; readPropertyResponse(receiver: BACNetAddress, invokeId: number, objectId: BACNetObjectID, property: BACNetPropertyID, value: BACNetAppData[] | BACNetAppData, options?: { forwardedFrom?: string; }): void; readPropertyMultipleResponse(receiver: BACNetAddress, invokeId: number, values: BACNetReadAccess[]): void; iAmResponse(receiver: BACNetAddress, deviceId: number, segmentation: number, vendorId: number): void; iHaveResponse(receiver: BACNetAddress, deviceId: BACNetObjectID, objectId: BACNetObjectID, objectName: string): void; simpleAckResponse(receiver: BACNetAddress, service: number, invokeId: number): void; errorResponse(receiver: BACNetAddress, service: number, invokeId: number, errorClass: number, errorCode: number): void; sendBvlc(receiver: BACNetAddress | null, buffer: EncodeBuffer): void; resultResponse(receiver: BACNetAddress, resultCode: number): void; close(): void; static createBitstring(items: number[]): BACNetBitString; }