export declare enum DiagnosticsLevel {
    INFO = "INFO",
    WARN = "WARN",
    ERROR = "ERROR"
}
/**
 * Provides diagnostic information from the camera.
 * @export
 * @class DiagnosticsMessage
 */
export default abstract class DiagnosticsMessage {
    protected _type: string;
    protected _level: DiagnosticsLevel;
    protected _message: string;
    protected _tip: string;
    constructor(type: string);
    /**
     * Human readable message in english if type is ok, or not
     * @type {string}
     * @memberof DiagnosticsMessage
     */
    get message(): string;
    /**
     * Type that indentifies what type of diagnostics message it is e.g USBMODE
     * @type {string}
     * @memberof DiagnosticsMessage
     */
    get type(): string;
    /**
     * What type of level is the message, INFO, WARN, ERROR
     * @type {DiagnosticsLevel}
     * @memberof DiagnosticsMessage
     */
    get level(): DiagnosticsLevel;
    /**
     * Human readable message how you can mitigate a problem
     * @type {string}
     * @memberof DiagnosticsMessage
     */
    get tip(): string;
    /**
     * Data object can contain more detailed information about the diagnostics information
     * @type {any}
     * @memberof DiagnosticsMessage
     */
    get data(): any;
}
