import { TapResponseFrame, TapRequestFrame } from '@iotize/tap/client/api';
import { CpuFrequencySpeed } from '@iotize/tap';
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface LoginCredential {
    username: string;
    password: string;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface LoginCredentialHashed {
    username: string;
    password: Uint8Array;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface SecurityOptions {
    /**
     * true if max wakeup time is activated. this make the device go to standby after the LifeTime period of Anonymous group even if there is a host protocol communicating.
     */
    maxWakeUpTimeActivated: boolean;
    /**
     * true if scram is activated
     */
    scramActivated: boolean;
    /**
     * true if login is done using the hash of the password instead of the password itself (ignored if scram enabled)
     */
    hashPassword: boolean;
    /**
     * true to disable factory reset using hardware pin
     */
    disableHardwareFactoryReset: boolean;
    /**
     * true to disable login using PUK security UID (resource /1024//5)
     */
    disableLoginWithUID: boolean;
    /**
     * true to disable factory reset using LwM2M resource (even if logged as admin)
     */
    disableResourceFactoryReset: boolean;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export declare enum NfcPairingMode {
    NO = 0,
    MANDATORY = 1,
    MANDATORY_FOR_LOGIN = 2
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface WirelessPairingOptions {
    blePairing: boolean;
    nfcPairingMode: WirelessPairingOptions.NfcPairingMode;
}
export declare namespace WirelessPairingOptions {
    /**
     * This file was automatically generated by json-schema-to-typescript.
     * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
     * and run json-schema-to-typescript to regenerate this file.
     */
    enum NfcPairingMode {
        NO = 0,
        MANDATORY = 1,
        MANDATORY_FOR_LOGIN = 2
    }
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export declare enum LowPowerOptimizationLevel {
    NO = 0,
    LOW = 1,
    STANDBY = 2,
    SHUTDOWN = 3
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface CpuFrequencyOptions {
    speed: CpuFrequencySpeed;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface PowerOptimizationOptions {
    cpuFrequencySpeed: CpuFrequencySpeed;
    lowPowerOptimizationLevel: LowPowerOptimizationLevel;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export declare enum ServiceCode {
    DATALOG = 1,
    JVM = 2
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface NetworkOptions {
    radioMixEnabled?: boolean;
    lteEnabled?: boolean;
    ethernetEnabled?: boolean;
    wifiDisabled?: boolean;
    wifiNetworkMode?: boolean;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export declare enum NfcConnectionPriority {
    NFC_PRIORITY = 0,
    NFC_NON_PRIORITY = 1
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface ProtocolMaxFrameSize {
    /**
     * Max frame size in bytes for a Tap request
     */
    request: number;
    /**
     * Max frame size in bytes for a Tap response
     */
    response: number;
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface MultiRequestFrame {
    requests: MultiRequestFrame.RequestItem[];
}
export declare namespace MultiRequestFrame {
    /**
     * This file was automatically generated by json-schema-to-typescript.
     * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
     * and run json-schema-to-typescript to regenerate this file.
     */
    interface RequestItem {
        requestLen: number;
        request: TapRequestFrame;
        expectedResponseStatus: number;
    }
    /**
     * This file was automatically generated by json-schema-to-typescript.
     * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
     * and run json-schema-to-typescript to regenerate this file.
     */
    enum ExpectedResponseStatus {
        SUCCESS = 127,
        ANYTHING = 255
    }
}
/**
 * This file was automatically generated by json-schema-to-typescript.
 * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
 * and run json-schema-to-typescript to regenerate this file.
 */
export interface MultiResponseFrame {
    responses: MultiResponseFrame.ResponseItem[];
}
export declare namespace MultiResponseFrame {
    /**
     * This file was automatically generated by json-schema-to-typescript.
     * DO NOT MODIFY IT BY HAND. Instead, modify the source JSONSchema file,
     * and run json-schema-to-typescript to regenerate this file.
     */
    interface ResponseItem {
        responseLen: number;
        response: TapResponseFrame;
    }
}
