import type { DeviceType } from '.';
import type { DeviceCommonOptions } from './generated/common-options';
export declare enum StatusCode {
    UNKNOWN = 0,
    GOOD = 1,
    WARNING_MINOR = 2,
    WARNING_MAJOR = 3,
    BAD = 4,
    FATAL = 5
}
export interface DeviceStatus {
    statusCode: StatusCode;
    messages: Array<string>;
    active: boolean;
}
export interface DeviceOptionsBase<T> extends SlowReportOptions, DeviceCommonOptions {
    type: DeviceType;
    isMultiThreaded?: boolean;
    reportAllCommands?: boolean;
    options?: T;
}
export interface SlowReportOptions {
    /** If set, report back that a command was slow if not sent at this time */
    limitSlowSentCommand?: number;
    /** If set, report back that a command was slow if not fullfilled (sent + ack:ed) at this time */
    limitSlowFulfilledCommand?: number;
}
//# sourceMappingURL=device.d.ts.map