export interface SerialOptions {
    baudRate: number;
    dataBits?: 7 | 8;
    stopBits?: 1 | 2;
    parity?: 'none' | 'even' | 'odd';
    bufferSize?: number;
    flowControl?: 'none' | 'hardware';
}
export interface PingResult {
    id: number;
    modelNumber: number;
    firmwareVersion: number;
}
export interface ServoStatus {
    position: number;
    speed: number;
    load: number;
    voltage: number;
    temperature: number;
    moving: boolean;
    errorStatus: number;
}
export interface SyncWriteData {
    id: number;
    data: Uint8Array;
}
export interface SyncReadRequest {
    id: number;
    address: number;
    length: number;
}
export interface Packet {
    id: number;
    instruction: number;
    parameters: Uint8Array;
    length: number;
}
export interface ResponsePacket extends Packet {
    error: number;
    checksum: number;
}
export declare enum Instruction {
    PING = 1,
    READ = 2,
    WRITE = 3,
    REG_WRITE = 4,
    ACTION = 5,
    FACTORY_RESET = 6,
    REBOOT = 8,
    SYNC_WRITE = 131,
    SYNC_READ = 130
}
export declare enum ErrorBit {
    VOLTAGE = 1,
    ANGLE = 2,
    OVERHEAT = 4,
    RANGE = 8,
    CHECKSUM = 16,
    OVERLOAD = 32,
    INSTRUCTION = 64
}
export * from './control-table';
export * from './models';
export declare class ServoError extends Error {
    code: ErrorCode;
    deviceId?: number | undefined;
    constructor(message: string, code: ErrorCode, deviceId?: number | undefined);
}
export declare enum ErrorCode {
    CONNECTION_FAILED = "CONNECTION_FAILED",
    CONNECTION_LOST = "CONNECTION_LOST",
    PORT_NOT_FOUND = "PORT_NOT_FOUND",
    PERMISSION_DENIED = "PERMISSION_DENIED",
    TIMEOUT = "TIMEOUT",
    CHECKSUM_ERROR = "CHECKSUM_ERROR",
    INVALID_RESPONSE = "INVALID_RESPONSE",
    DEVICE_NOT_FOUND = "DEVICE_NOT_FOUND",
    WRITE_ERROR = "WRITE_ERROR",
    READ_ERROR = "READ_ERROR",
    INVALID_PARAMETER = "INVALID_PARAMETER",
    HARDWARE_ERROR = "HARDWARE_ERROR"
}
//# sourceMappingURL=index.d.ts.map