import { EventEmitter } from "events"; import { KNXBusInterface } from "../types"; import { CEMIFrame } from "../frames"; export declare class KNXNetManagementImpl extends EventEmitter implements KNXBusInterface { private socket; private isConnected; private readonly options; private connectionId; private sequenceCounter; private heartbeatTimer; private connectionTimer; private serverEndpoint; private localEndpoint; private readonly busmonitorMode; constructor(serverAddress: string, serverPort?: number, localPort?: number, busmonitorMode?: boolean); open(): Promise; send(frame: CEMIFrame): Promise; close(): Promise; /** * Check if this connection is in busmonitor mode */ isBusmonitorMode(): boolean; writeProperty(interfaceObject: number, objectInstance: number, propertyId: number, numberOfElements: number, startIndex: number, data: Buffer): Promise; readProperty(interfaceObject: number, objectInstance: number, propertyId: number, numberOfElements: number, startIndex: number): Promise; on(event: "recv", listener: (frame: CEMIFrame) => void): this; on(event: "error", listener: (error: Error) => void): this; private setupSocket; private establishConnection; private createDeviceConfigurationFrame; private createConnectRequestFrame; private createTunnelingRequestFrame; private createHPAI; private parseHPAI; private isConnectResponse; private isTunnelingAck; private parseConnectResponse; private parseTunnelingAck; private handleIncomingMessage; private handleDeviceConfigurationRequest; private handleTunnelingRequest; private sendTunnelingAck; private sendDeviceConfigurationAck; private handleConnectionStateRequest; private sendConnectionStateResponse; private sendDisconnectRequest; private startHeartbeat; private sendConnectionStateRequest; private cleanup; } //# sourceMappingURL=management.d.ts.map