/// <reference types="node" />
/// <reference types="node" />
import dgram from "dgram";
import { Host } from "./types/host";
import { PacketHandler } from "./packet.handler";
import { QueueItem } from "./types/queueItem";
import { Logger } from "./logger";
export declare class SocketHandler {
    private logger;
    private host;
    private socket;
    private macAddress;
    private packetHandler;
    private rm4Type;
    private request_header;
    private code_sending_header;
    private promises;
    constructor(logger: Logger, host: Host, macAddress: Buffer, deviceType: number, packetHandler: PacketHandler);
    handleMessage: (response: Buffer) => void;
    sendPacket: (command: number, packet: Buffer, requestId: number, queueItem?: QueueItem) => Promise<Buffer>;
    setupSocket: () => dgram.Socket;
    onPayloadReceived: (_err: number, payload: Buffer) => void;
}
