import { int8_t, uint8_t, uint16_t, uint32_t, float } from './types';
import { MavLinkPacketRegistry, MavLinkPacketField, MavLinkData } from './mavlink';
import { GimbalDeviceCapFlags, GimbalDeviceFlags, MavLinkCommandRegistry } from './common';
/**
 * MAV_STORM32_TUNNEL_PAYLOAD_TYPE
 */
export declare enum MavStorm32TunnelPayloadType {
    /**
     * Registered for STorM32 gimbal controller. For communication with gimbal or camera.
     */
    'STORM32_CH1_IN' = 200,
    /**
     * Registered for STorM32 gimbal controller. For communication with gimbal or camera.
     */
    'STORM32_CH1_OUT' = 201,
    /**
     * Registered for STorM32 gimbal controller. For communication with gimbal.
     */
    'STORM32_CH2_IN' = 202,
    /**
     * Registered for STorM32 gimbal controller. For communication with gimbal.
     */
    'STORM32_CH2_OUT' = 203,
    /**
     * Registered for STorM32 gimbal controller. For communication with camera.
     */
    'STORM32_CH3_IN' = 204,
    /**
     * Registered for STorM32 gimbal controller. For communication with camera.
     */
    'STORM32_CH3_OUT' = 205
}
/**
 * Gimbal manager capability flags.
 */
export declare enum MavStorm32GimbalManagerCapFlags {
    /**
     * The gimbal manager supports several profiles.
     */
    'HAS_PROFILES' = 1
}
/**
 * Flags for gimbal manager operation. Used for setting and reporting, unless specified otherwise. If a
 * setting has been accepted by the gimbal manager is reported in the STORM32_GIMBAL_MANAGER_STATUS
 * message.
 */
export declare enum MavStorm32GimbalManagerFlags {
    /**
     * Request to set RC input to active, or report RC input is active. Implies RC mixed. RC exclusive is
     * achieved by setting all clients to inactive.
     */
    'RC_ACTIVE' = 1,
    /**
     * Request to set onboard/companion computer client to active, or report this client is active.
     */
    'CLIENT_ONBOARD_ACTIVE' = 2,
    /**
     * Request to set autopliot client to active, or report this client is active.
     */
    'CLIENT_AUTOPILOT_ACTIVE' = 4,
    /**
     * Request to set GCS client to active, or report this client is active.
     */
    'CLIENT_GCS_ACTIVE' = 8,
    /**
     * Request to set camera client to active, or report this client is active.
     */
    'CLIENT_CAMERA_ACTIVE' = 16,
    /**
     * Request to set GCS2 client to active, or report this client is active.
     */
    'CLIENT_GCS2_ACTIVE' = 32,
    /**
     * Request to set camera2 client to active, or report this client is active.
     */
    'CLIENT_CAMERA2_ACTIVE' = 64,
    /**
     * Request to set custom client to active, or report this client is active.
     */
    'CLIENT_CUSTOM_ACTIVE' = 128,
    /**
     * Request to set custom2 client to active, or report this client is active.
     */
    'CLIENT_CUSTOM2_ACTIVE' = 256,
    /**
     * Request supervision. This flag is only for setting, it is not reported.
     */
    'SET_SUPERVISON' = 512,
    /**
     * Release supervision. This flag is only for setting, it is not reported.
     */
    'SET_RELEASE' = 1024
}
/**
 * Gimbal manager client ID. In a prioritizing profile, the priorities are determined by the
 * implementation; they could e.g. be custom1 > onboard > GCS > autopilot/camera > GCS2 > custom2.
 */
export declare enum MavStorm32GimbalManagerClient {
    /**
     * For convenience.
     */
    'NONE' = 0,
    /**
     * This is the onboard/companion computer client.
     */
    'ONBOARD' = 1,
    /**
     * This is the autopilot client.
     */
    'AUTOPILOT' = 2,
    /**
     * This is the GCS client.
     */
    'GCS' = 3,
    /**
     * This is the camera client.
     */
    'CAMERA' = 4,
    /**
     * This is the GCS2 client.
     */
    'GCS2' = 5,
    /**
     * This is the camera2 client.
     */
    'CAMERA2' = 6,
    /**
     * This is the custom client.
     */
    'CUSTOM' = 7,
    /**
     * This is the custom2 client.
     */
    'CUSTOM2' = 8
}
/**
 * Gimbal manager profiles. Only standard profiles are defined. Any implementation can define its own
 * profile(s) in addition, and should use enum values > 16.
 */
export declare enum MavStorm32GimbalManagerProfile {
    /**
     * Default profile. Implementation specific.
     */
    'DEFAULT' = 0,
    /**
     * Not supported/deprecated.
     */
    'CUSTOM' = 1,
    /**
     * Profile with cooperative behavior.
     */
    'COOPERATIVE' = 2,
    /**
     * Profile with exclusive behavior.
     */
    'EXCLUSIVE' = 3,
    /**
     * Profile with priority and cooperative behavior for equal priority.
     */
    'PRIORITY_COOPERATIVE' = 4,
    /**
     * Profile with priority and exclusive behavior for equal priority.
     */
    'PRIORITY_EXCLUSIVE' = 5
}
/**
 * Enumeration of possible shot modes.
 */
export declare enum MavQshotMode {
    /**
     * Undefined shot mode. Can be used to determine if qshots should be used or not.
     */
    'UNDEFINED' = 0,
    /**
     * Start normal gimbal operation. Is usually used to return back from a shot.
     */
    'DEFAULT' = 1,
    /**
     * Load and keep safe gimbal position and stop stabilization.
     */
    'GIMBAL_RETRACT' = 2,
    /**
     * Load neutral gimbal position and keep it while stabilizing.
     */
    'GIMBAL_NEUTRAL' = 3,
    /**
     * Start mission with gimbal control.
     */
    'GIMBAL_MISSION' = 4,
    /**
     * Start RC gimbal control.
     */
    'GIMBAL_RC_CONTROL' = 5,
    /**
     * Start gimbal tracking the point specified by Lat, Lon, Alt.
     */
    'POI_TARGETING' = 6,
    /**
     * Start gimbal tracking the system with specified system ID.
     */
    'SYSID_TARGETING' = 7,
    /**
     * Start 2-point cable cam quick shot.
     */
    'CABLECAM_2POINT' = 8,
    /**
     * Start gimbal tracking the home location.
     */
    'HOME_TARGETING' = 9
}
/**
 * MAV_CMD
 */
export declare enum MavCmd {
    /**
     * Command to a gimbal manager to control the gimbal tilt and pan angles. It is possible to set
     * combinations of the values below. E.g. an angle as well as a desired angular rate can be used to get
     * to this angle at a certain angular rate, or an angular rate only will result in continuous turning.
     * NaN is to be used to signal unset. A gimbal device is never to react to this command.
     * @param1 Pitch angle[deg] (min: -180, max: 180) Pitch/tilt angle (positive: tilt up). NaN to be ignored.
     * @param2 Yaw angle[deg] (min: -180, max: 180) Yaw/pan angle (positive: pan to the right). NaN to be ignored. The frame is determined by the GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     * @param3 Pitch rate[deg/s] Pitch/tilt rate (positive: tilt up). NaN to be ignored.
     * @param4 Yaw rate[deg/s] Yaw/pan rate (positive: pan to the right). NaN to be ignored. The frame is determined by the GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     * @param5 Gimbal device flags Gimbal device flags to be applied.
     * @param6 Gimbal manager flags Gimbal manager flags to be applied.
     * @param7 Gimbal ID and client Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all gimbals). Send command multiple times for more than one but not all gimbals. The client is copied into bits 8-15.
     */
    'STORM32_DO_GIMBAL_MANAGER_CONTROL_PITCHYAW' = 60002,
    /**
     * Command to configure a gimbal manager. A gimbal device is never to react to this command. The
     * selected profile is reported in the STORM32_GIMBAL_MANAGER_STATUS message.
     * @param1 Profile Gimbal manager profile (0 = default).
     * @param7 Gimbal ID Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all gimbals). Send command multiple times for more than one but not all gimbals.
     */
    'STORM32_DO_GIMBAL_MANAGER_SETUP' = 60010,
    /**
     * Command to set the shot manager mode.
     * @param1 Mode Set shot mode.
     * @param2 Shot state or command Set shot state or command. The allowed values are specific to the selected shot mode.
     */
    'QSHOT_DO_CONFIGURE' = 60020
}
/**
 * RADIO_LINK_STATS flags (bitmask). The RX_RECEIVE and TX_RECEIVE flags indicate from which antenna
 * the received data are taken for processing. If a flag is set then the data received on antenna2 is
 * processed, else the data received on antenna1 is used. The RX_TRANSMIT and TX_TRANSMIT flags specify
 * which antenna are transmitting data. Both antenna 1 and antenna 2 transmit flags can be set
 * simultaneously, e.g., in case of dual-band or dual-frequency systems. If neither flag is set then
 * antenna 1 should be assumed.
 */
export declare enum MlrsRadioLinkStatsFlags {
    /**
     * Rssi values are in negative dBm. Values 1..254 corresponds to -1..-254 dBm. 0: no reception,
     * UINT8_MAX: unknown.
     */
    'RSSI_DBM' = 1,
    /**
     * Rx receive antenna. When set the data received on antenna 2 are taken, else the data stems from
     * antenna 1.
     */
    'RX_RECEIVE_ANTENNA2' = 2,
    /**
     * Rx transmit antenna. Data are transmitted on antenna 1.
     */
    'RX_TRANSMIT_ANTENNA1' = 4,
    /**
     * Rx transmit antenna. Data are transmitted on antenna 2.
     */
    'RX_TRANSMIT_ANTENNA2' = 8,
    /**
     * Tx receive antenna. When set the data received on antenna 2 are taken, else the data stems from
     * antenna 1.
     */
    'TX_RECEIVE_ANTENNA2' = 16,
    /**
     * Tx transmit antenna. Data are transmitted on antenna 1.
     */
    'TX_TRANSMIT_ANTENNA1' = 32,
    /**
     * Tx transmit antenna. Data are transmitted on antenna 2.
     */
    'TX_TRANSMIT_ANTENNA2' = 64
}
/**
 * RADIO_LINK_TYPE enum.
 */
export declare enum MlrsRadioLinkType {
    /**
     * Unknown radio link type.
     */
    'GENERIC' = 0,
    /**
     * Radio link is HereLink.
     */
    'HERELINK' = 1,
    /**
     * Radio link is Dragon Link.
     */
    'DRAGONLINK' = 2,
    /**
     * Radio link is RFD900.
     */
    'RFD900' = 3,
    /**
     * Radio link is Crossfire.
     */
    'CROSSFIRE' = 4,
    /**
     * Radio link is ExpressLRS.
     */
    'EXPRESSLRS' = 5,
    /**
     * Radio link is mLRS.
     */
    'MLRS' = 6
}
/**
 * Information about a gimbal manager. This message should be requested by a ground station using
 * MAV_CMD_REQUEST_MESSAGE. It mirrors some fields of the GIMBAL_DEVICE_INFORMATION message, but not
 * all. If the additional information is desired, also GIMBAL_DEVICE_INFORMATION should be requested.
 */
export declare class Storm32GimbalManagerInformation extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * Gimbal ID (component ID or 1-6 for non-MAVLink gimbal) that this gimbal manager is responsible for.
     */
    gimbalId: uint8_t;
    /**
     * Gimbal device capability flags. Same flags as reported by GIMBAL_DEVICE_INFORMATION. The flag is
     * only 16 bit wide, but stored in 32 bit, for backwards compatibility (high word is zero).
     */
    deviceCapFlags: GimbalDeviceCapFlags;
    /**
     * Gimbal manager capability flags.
     */
    managerCapFlags: MavStorm32GimbalManagerCapFlags;
    /**
     * Hardware minimum roll angle (positive: roll to the right). NaN if unknown.
     * Units: rad
     */
    rollMin: float;
    /**
     * Hardware maximum roll angle (positive: roll to the right). NaN if unknown.
     * Units: rad
     */
    rollMax: float;
    /**
     * Hardware minimum pitch/tilt angle (positive: tilt up). NaN if unknown.
     * Units: rad
     */
    pitchMin: float;
    /**
     * Hardware maximum pitch/tilt angle (positive: tilt up). NaN if unknown.
     * Units: rad
     */
    pitchMax: float;
    /**
     * Hardware minimum yaw/pan angle (positive: pan to the right, relative to the vehicle/gimbal base).
     * NaN if unknown.
     * Units: rad
     */
    yawMin: float;
    /**
     * Hardware maximum yaw/pan angle (positive: pan to the right, relative to the vehicle/gimbal base).
     * NaN if unknown.
     * Units: rad
     */
    yawMax: float;
}
/**
 * Message reporting the current status of a gimbal manager. This message should be broadcast at a low
 * regular rate (e.g. 1 Hz, may be increase momentarily to e.g. 5 Hz for a period of 1 sec after a
 * change).
 */
export declare class Storm32GimbalManagerStatus extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * Gimbal ID (component ID or 1-6 for non-MAVLink gimbal) that this gimbal manager is responsible for.
     */
    gimbalId: uint8_t;
    /**
     * Client who is currently supervisor (0 = none).
     */
    supervisor: MavStorm32GimbalManagerClient;
    /**
     * Gimbal device flags currently applied. Same flags as reported by GIMBAL_DEVICE_ATTITUDE_STATUS.
     */
    deviceFlags: GimbalDeviceFlags;
    /**
     * Gimbal manager flags currently applied.
     */
    managerFlags: MavStorm32GimbalManagerFlags;
    /**
     * Profile currently applied (0 = default).
     */
    profile: MavStorm32GimbalManagerProfile;
}
/**
 * Message to a gimbal manager to control the gimbal attitude. Angles and rates can be set to NaN
 * according to use case. A gimbal device is never to react to this message.
 */
export declare class Storm32GimbalManagerControl extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * System ID
     */
    targetSystem: uint8_t;
    /**
     * Component ID
     */
    targetComponent: uint8_t;
    /**
     * Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all
     * gimbals). Send command multiple times for more than one but not all gimbals.
     */
    gimbalId: uint8_t;
    /**
     * Client which is contacting the gimbal manager (must be set).
     */
    client: MavStorm32GimbalManagerClient;
    /**
     * Gimbal device flags to be applied (UINT16_MAX to be ignored). Same flags as used in
     * GIMBAL_DEVICE_SET_ATTITUDE.
     */
    deviceFlags: GimbalDeviceFlags;
    /**
     * Gimbal manager flags to be applied (0 to be ignored).
     */
    managerFlags: MavStorm32GimbalManagerFlags;
    /**
     * Quaternion components, w, x, y, z (1 0 0 0 is the null-rotation). Set first element to NaN to be
     * ignored. The frame is determined by the GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     */
    q: float[];
    /**
     * X component of angular velocity (positive: roll to the right). NaN to be ignored.
     * Units: rad/s
     */
    angularVelocityX: float;
    /**
     * Y component of angular velocity (positive: tilt up). NaN to be ignored.
     * Units: rad/s
     */
    angularVelocityY: float;
    /**
     * Z component of angular velocity (positive: pan to the right). NaN to be ignored. The frame is
     * determined by the GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     * Units: rad/s
     */
    angularVelocityZ: float;
}
/**
 * Message to a gimbal manager to control the gimbal tilt and pan angles. Angles and rates can be set
 * to NaN according to use case. A gimbal device is never to react to this message.
 */
export declare class Storm32GimbalManagerControlPitchyaw extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * System ID
     */
    targetSystem: uint8_t;
    /**
     * Component ID
     */
    targetComponent: uint8_t;
    /**
     * Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all
     * gimbals). Send command multiple times for more than one but not all gimbals.
     */
    gimbalId: uint8_t;
    /**
     * Client which is contacting the gimbal manager (must be set).
     */
    client: MavStorm32GimbalManagerClient;
    /**
     * Gimbal device flags to be applied (UINT16_MAX to be ignored). Same flags as used in
     * GIMBAL_DEVICE_SET_ATTITUDE.
     */
    deviceFlags: GimbalDeviceFlags;
    /**
     * Gimbal manager flags to be applied (0 to be ignored).
     */
    managerFlags: MavStorm32GimbalManagerFlags;
    /**
     * Pitch/tilt angle (positive: tilt up). NaN to be ignored.
     * Units: rad
     */
    pitch: float;
    /**
     * Yaw/pan angle (positive: pan the right). NaN to be ignored. The frame is determined by the
     * GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     * Units: rad
     */
    yaw: float;
    /**
     * Pitch/tilt angular rate (positive: tilt up). NaN to be ignored.
     * Units: rad/s
     */
    pitchRate: float;
    /**
     * Yaw/pan angular rate (positive: pan to the right). NaN to be ignored. The frame is determined by the
     * GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     * Units: rad/s
     */
    yawRate: float;
}
/**
 * Message to a gimbal manager to correct the gimbal roll angle. This message is typically used to
 * manually correct for a tilted horizon in operation. A gimbal device is never to react to this
 * message.
 */
export declare class Storm32GimbalManagerCorrectRoll extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * System ID
     */
    targetSystem: uint8_t;
    /**
     * Component ID
     */
    targetComponent: uint8_t;
    /**
     * Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all
     * gimbals). Send command multiple times for more than one but not all gimbals.
     */
    gimbalId: uint8_t;
    /**
     * Client which is contacting the gimbal manager (must be set).
     */
    client: MavStorm32GimbalManagerClient;
    /**
     * Roll angle (positive to roll to the right).
     * Units: rad
     */
    roll: float;
}
/**
 * Frsky SPort passthrough multi packet container.
 */
export declare class FrskyPassthroughArray extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * Timestamp (time since system boot).
     * Units: ms
     */
    timeBootMs: uint32_t;
    /**
     * Number of passthrough packets in this message.
     */
    count: uint8_t;
    /**
     * Passthrough packet buffer. A packet has 6 bytes: uint16_t id + uint32_t data. The array has space
     * for 40 packets.
     */
    packetBuf: uint8_t[];
}
/**
 * Radio link statistics for a MAVLink RC receiver or transmitter and other links. Tx: ground-side
 * device, Rx: vehicle-side device. The message is normally emitted in regular time intervals upon each
 * actual or expected reception of an over-the-air data packet on the link. A MAVLink RC receiver
 * should emit it shortly after it emits a RADIO_RC_CHANNELS message (if it is emitting that message).
 * Per default, rssi values are in MAVLink units: 0 represents weakest signal, 254 represents maximum
 * signal, UINT8_MAX represents unknown. The RADIO_LINK_STATS_FLAGS_RSSI_DBM flag is set if the rssi
 * units are negative dBm: 1..254 correspond to -1..-254 dBm, 0 represents no reception, UINT8_MAX
 * represents unknown. The target_system field should normally be set to the system id of the system
 * the link is connected to, typically the flight controller. The target_component field can normally
 * be set to 0, so that all components of the system can receive the message. Note: The frequency
 * fields are extensions to ensure that they are located at the end of the serialized payload and
 * subject to MAVLink's trailing-zero trimming.
 */
export declare class MlrsRadioLinkStats extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * System ID (ID of target system, normally flight controller).
     */
    targetSystem: uint8_t;
    /**
     * Component ID (normally 0 for broadcast).
     */
    targetComponent: uint8_t;
    /**
     * Radio link statistics flags.
     */
    flags: MlrsRadioLinkStatsFlags;
    /**
     * Link quality of RC data stream from Tx to Rx. Values: 1..100, 0: no link connection, UINT8_MAX:
     * unknown.
     * Units: c%
     */
    rxLQRc: uint8_t;
    /**
     * Link quality of serial MAVLink data stream from Tx to Rx. Values: 1..100, 0: no link connection,
     * UINT8_MAX: unknown.
     * Units: c%
     */
    rxLQSer: uint8_t;
    /**
     * Rssi of antenna 1. 0: no reception, UINT8_MAX: unknown.
     */
    rxRssi1: uint8_t;
    /**
     * Noise on antenna 1. Radio link dependent. INT8_MAX: unknown.
     */
    rxSnr1: int8_t;
    /**
     * Link quality of serial MAVLink data stream from Rx to Tx. Values: 1..100, 0: no link connection,
     * UINT8_MAX: unknown.
     * Units: c%
     */
    txLQSer: uint8_t;
    /**
     * Rssi of antenna 1. 0: no reception. UINT8_MAX: unknown.
     */
    txRssi1: uint8_t;
    /**
     * Noise on antenna 1. Radio link dependent. INT8_MAX: unknown.
     */
    txSnr1: int8_t;
    /**
     * Rssi of antenna 2. 0: no reception, UINT8_MAX: use rx_rssi1 if it is known else unknown.
     */
    rxRssi2: uint8_t;
    /**
     * Noise on antenna 2. Radio link dependent. INT8_MAX: use rx_snr1 if it is known else unknown.
     */
    rxSnr2: int8_t;
    /**
     * Rssi of antenna 2. 0: no reception. UINT8_MAX: use tx_rssi1 if it is known else unknown.
     */
    txRssi2: uint8_t;
    /**
     * Noise on antenna 2. Radio link dependent. INT8_MAX: use tx_snr1 if it is known else unknown.
     */
    txSnr2: int8_t;
    /**
     * Frequency on antenna1 in Hz. 0: unknown.
     * Units: Hz
     */
    frequency1: float;
    /**
     * Frequency on antenna2 in Hz. 0: unknown.
     * Units: Hz
     */
    frequency2: float;
}
/**
 * Radio link information. Tx: ground-side device, Rx: vehicle-side device. The values of the fields in
 * this message do normally not or only slowly change with time, and for most times the message can be
 * send at a low rate, like 0.2 Hz. If values change then the message should temporarily be send more
 * often to inform the system about the changes. The target_system field should normally be set to the
 * system id of the system the link is connected to, typically the flight controller. The
 * target_component field can normally be set to 0, so that all components of the system can receive
 * the message.
 */
export declare class MlrsRadioLinkInformation extends MavLinkData {
    static MSG_ID: number;
    static MSG_NAME: string;
    static PAYLOAD_LENGTH: number;
    static MAGIC_NUMBER: number;
    static FIELDS: MavLinkPacketField[];
    constructor();
    /**
     * System ID (ID of target system, normally flight controller).
     */
    targetSystem: uint8_t;
    /**
     * Component ID (normally 0 for broadcast).
     */
    targetComponent: uint8_t;
    /**
     * Radio link type. 0: unknown/generic type.
     */
    type: MlrsRadioLinkType;
    /**
     * Operation mode. Radio link dependent. UINT8_MAX: ignore/unknown.
     */
    mode: uint8_t;
    /**
     * Tx transmit power in dBm. INT8_MAX: unknown.
     * Units: dBm
     */
    txPower: int8_t;
    /**
     * Rx transmit power in dBm. INT8_MAX: unknown.
     * Units: dBm
     */
    rxPower: int8_t;
    /**
     * Frame rate in Hz (frames per second) for Tx to Rx transmission. 0: unknown.
     * Units: Hz
     */
    txFrameRate: uint16_t;
    /**
     * Frame rate in Hz (frames per second) for Rx to Tx transmission. Normally equal to tx_packet_rate. 0:
     * unknown.
     * Units: Hz
     */
    rxFrameRate: uint16_t;
    /**
     * Operation mode as human readable string. Radio link dependent. Terminated by NULL if the string
     * length is less than 6 chars and WITHOUT NULL termination if the length is exactly 6 chars -
     * applications have to provide 6+1 bytes storage if the mode is stored as string. Use a zero-length
     * string if not known.
     */
    modeStr: string;
    /**
     * Frequency band as human readable string. Radio link dependent. Terminated by NULL if the string
     * length is less than 6 chars and WITHOUT NULL termination if the length is exactly 6 chars -
     * applications have to provide 6+1 bytes storage if the mode is stored as string. Use a zero-length
     * string if not known.
     */
    bandStr: string;
    /**
     * Maximum data rate of serial stream in bytes/s for Tx to Rx transmission. 0: unknown. UINT16_MAX:
     * data rate is 64 KBytes/s or larger.
     */
    txSerDataRate: uint16_t;
    /**
     * Maximum data rate of serial stream in bytes/s for Rx to Tx transmission. 0: unknown. UINT16_MAX:
     * data rate is 64 KBytes/s or larger.
     */
    rxSerDataRate: uint16_t;
    /**
     * Receive sensitivity of Tx in inverted dBm. 1..255 represents -1..-255 dBm, 0: unknown.
     */
    txReceiveSensitivity: uint8_t;
    /**
     * Receive sensitivity of Rx in inverted dBm. 1..255 represents -1..-255 dBm, 0: unknown.
     */
    rxReceiveSensitivity: uint8_t;
}
import { CommandLong } from './common';
/**
 * Command to a gimbal manager to control the gimbal tilt and pan angles. It is possible to set
 * combinations of the values below. E.g. an angle as well as a desired angular rate can be used to get
 * to this angle at a certain angular rate, or an angular rate only will result in continuous turning.
 * NaN is to be used to signal unset. A gimbal device is never to react to this command.
 */
export declare class Storm32DoGimbalManagerControlPitchyawCommand extends CommandLong {
    constructor(targetSystem?: number, targetComponent?: number);
    /**
     * Pitch/tilt angle (positive: tilt up). NaN to be ignored.
     *
     * @units deg
     * @min: -180
     * @max: 180
     */
    get pitchAngle(): number;
    set pitchAngle(value: number);
    /**
     * Yaw/pan angle (positive: pan to the right). NaN to be ignored. The frame is determined by the
     * GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     *
     * @units deg
     * @min: -180
     * @max: 180
     */
    get yawAngle(): number;
    set yawAngle(value: number);
    /**
     * Pitch/tilt rate (positive: tilt up). NaN to be ignored.
     *
     * @units deg/s
     */
    get pitchRate(): number;
    set pitchRate(value: number);
    /**
     * Yaw/pan rate (positive: pan to the right). NaN to be ignored. The frame is determined by the
     * GIMBAL_DEVICE_FLAGS_YAW_IN_xxx_FRAME flags.
     *
     * @units deg/s
     */
    get yawRate(): number;
    set yawRate(value: number);
    /**
     * Gimbal device flags to be applied.
     */
    get gimbalDeviceFlags(): number;
    set gimbalDeviceFlags(value: number);
    /**
     * Gimbal manager flags to be applied.
     */
    get gimbalManagerFlags(): number;
    set gimbalManagerFlags(value: number);
    /**
     * Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all
     * gimbals). Send command multiple times for more than one but not all gimbals. The client is copied
     * into bits 8-15.
     */
    get gimbalIdAndClient(): number;
    set gimbalIdAndClient(value: number);
}
/**
 * Command to configure a gimbal manager. A gimbal device is never to react to this command. The
 * selected profile is reported in the STORM32_GIMBAL_MANAGER_STATUS message.
 */
export declare class Storm32DoGimbalManagerSetupCommand extends CommandLong {
    constructor(targetSystem?: number, targetComponent?: number);
    /**
     * Gimbal manager profile (0 = default).
     */
    get profile(): number;
    set profile(value: number);
    /**
     * Gimbal ID of the gimbal manager to address (component ID or 1-6 for non-MAVLink gimbal, 0 for all
     * gimbals). Send command multiple times for more than one but not all gimbals.
     */
    get gimbalId(): number;
    set gimbalId(value: number);
}
/**
 * Command to set the shot manager mode.
 */
export declare class QshotDoConfigureCommand extends CommandLong {
    constructor(targetSystem?: number, targetComponent?: number);
    /**
     * Set shot mode.
     */
    get mode(): number;
    set mode(value: number);
    /**
     * Set shot state or command. The allowed values are specific to the selected shot mode.
     */
    get shotStateOrCommand(): number;
    set shotStateOrCommand(value: number);
}
export declare const REGISTRY: MavLinkPacketRegistry;
export declare const COMMANDS: MavLinkCommandRegistry;
