/// <reference types="node" />
import { EventEmitter } from "events";
import SSPCommands from "./SSPCommands";
import { SSPOptions, SSPType } from "./types";
declare class SSP<Type extends SSPType = "nv10usb"> extends EventEmitter {
    private commands?;
    private options;
    private socket?;
    private pollTimeout?;
    private type;
    constructor(type: Type, options: SSPOptions);
    exec(commandName: keyof SSPCommands<Type>["commandsList"], ...args: number[]): Promise<void>;
    isOpened(): boolean;
    isEnabled(): boolean;
    enable(): Promise<void>;
    disable(): Promise<void>;
    reset(): Promise<void>;
    open(): Promise<void>;
    close(): Promise<void>;
    /**
     * For additional info refer to `Transport Layer` section of SSP_Manual.pdf
     */
    private handleData;
}
export default SSP;
