import { VariableFormat } 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 declare enum TargetCoreType {
    M0_CORTEX = 0,
    M1_CORTEX = 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 TargetComStats {
    nbFailCom: number;
    nbSuccessfulCom: 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 TargetSerialModbusProtocolConfiguration {
    modbus: TargetSerialModbusProtocolConfiguration.Modbus;
    serial: TargetSerialModbusProtocolConfiguration.Serial;
}
export declare namespace TargetSerialModbusProtocolConfiguration {
    /**
     * 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 Modbus {
        slave: number;
        offsetFirstRegister: 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.
     */
    interface Serial {
        baudRate: number;
        physicalPort: SerialSettings.PhysicalPort;
        stopBits: SerialSettings.StopBits;
        bitParity: SerialSettings.BitParity;
        dataBits: SerialSettings.DataBits;
        handshakeDelimiter: SerialSettings.HandshakeDelimiter;
        hardwareFlowControl: SerialSettings.HardwareFlowControl;
        timeout: 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 TargetS3PProtocolConfiguration {
    delay: number;
    mode: TargetS3PProtocolConfiguration.Mode;
}
export declare namespace TargetS3PProtocolConfiguration {
    /**
     * 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 Mode {
        EMULATION = 0,
        INDEXED = 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 ModbusWriteOptions {
    options: ModbusOptions;
    data: 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 ModbusOptions {
    /**
     * Modbus object type
     */
    objectType: ModbusOptions.ObjectType;
    /**
     * Slave address
     */
    slave: number;
    /**
     * Modbus address to read
     */
    address: number;
    /**
     * Number of word to read
     */
    length: number;
    /**
     * Variable format (only on for variables)
     */
    format: VariableFormat;
}
export declare namespace ModbusOptions {
    /**
     * 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 ObjectType {
        DEFAULT = 0,
        COIL = 1,
        DISCRET_INPUT = 2,
        HOLDING_REGISTER = 3,
        INPUT_REGISTER = 4
    }
}
/**
 * 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 MemoryInfo {
    /**
     * Address
     */
    address: number;
    /**
     * Number of word
     */
    length: number;
    /**
     * Size of one word
     */
    format: VariableFormat;
}
/**
 * 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 MemoryWriteInfo {
    info: MemoryInfo;
    data: 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 SerialSettings {
}
export declare namespace SerialSettings {
    /**
     * 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 BitParity {
        NONE = 0,
        ODD = 1,
        EVEN = 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.
     */
    enum HardwareFlowControl {
        NONE = 0,
        RTS = 1,
        CTS = 2,
        RTS_CTS = 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.
     */
    enum StopBits {
        ONE = 0,
        ONE_AND_HALF = 1,
        TWO = 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.
     */
    enum PhysicalPort {
        NONE = 0,
        RS232 = 1,
        USB = 3,
        AUTO = 6,
        RS485 = 10
    }
    /**
     * 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 HandshakeDelimiter {
        NONE = 0,
        CR = 1,
        LF = 2,
        CR_LF = 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.
     */
    enum DataBits {
        _7 = 0,
        _8 = 1,
        _9 = 2
    }
}
