import { WebSerialPortHandler } from './port-handler';
import { PingResult, ServoStatus } from '../types';

export declare class ProtocolHandler {
    private portHandler;
    private timeout;
    private packetHandler;
    private model;
    constructor(portHandler: WebSerialPortHandler, timeout?: number);
    setModel(model: string): void;
    private sendAndReceive;
    ping(id: number): Promise<PingResult>;
    readData(id: number, address: number, length: number): Promise<Uint8Array>;
    writeData(id: number, address: number, data: Uint8Array): Promise<void>;
    readByte(id: number, address: number): Promise<number>;
    writeByte(id: number, address: number, value: number): Promise<void>;
    readWord(id: number, address: number): Promise<number>;
    writeWord(id: number, address: number, value: number): Promise<void>;
    readPosition(id: number): Promise<number>;
    writePosition(id: number, position: number, speed?: number): Promise<void>;
    setTorque(id: number, enabled: boolean): Promise<void>;
    readStatus(id: number): Promise<ServoStatus>;
    setID(id: number, newId: number): Promise<void>;
    setBaudRate(id: number, baudRate: number): Promise<void>;
    factoryReset(id: number): Promise<void>;
    reboot(id: number): Promise<void>;
}
//# sourceMappingURL=protocol-handler.d.ts.map