import { SE2VelocityLimit, Vec3 } from "../geometry";
import { SE3Trajectory } from "../trajectory";
import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bosdyn.api.spot";
/** The locomotion hint specifying the gait of the robot. */
export declare enum LocomotionHint {
    /** HINT_UNKNOWN - Invalid; do not use. */
    HINT_UNKNOWN = 0,
    /** HINT_AUTO - No hint, robot chooses an appropriate gait (typically trot.) */
    HINT_AUTO = 1,
    /** HINT_TROT - Most robust gait which moves diagonal legs together. */
    HINT_TROT = 2,
    /** HINT_SPEED_SELECT_TROT - Trot which comes to a stand when not commanded to move. */
    HINT_SPEED_SELECT_TROT = 3,
    /** HINT_CRAWL - Slow and steady gait which moves only one foot at a time. */
    HINT_CRAWL = 4,
    /** HINT_SPEED_SELECT_CRAWL - Crawl which comes to a stand when not commanded to move. */
    HINT_SPEED_SELECT_CRAWL = 10,
    /** HINT_AMBLE - Four beat gait where one foot touches down at a time. */
    HINT_AMBLE = 5,
    /** HINT_SPEED_SELECT_AMBLE - Amble which comes to a stand when not commanded to move. */
    HINT_SPEED_SELECT_AMBLE = 6,
    /** HINT_JOG - Demo gait which moves diagonal leg pairs together with an aerial phase. */
    HINT_JOG = 7,
    /** HINT_HOP - Demo gait which hops while holding some feet in the air. */
    HINT_HOP = 8,
    /**
     * HINT_AUTO_TROT - HINT_AUTO_TROT is deprecated due to the name being too similar to the Spot Autowalk feature.
     * It has been replaced by HINT_SPEED_SELECT_TROT. Keeping this value in here for now for backwards
     * compatibility, but this may be removed in future releases.
     */
    HINT_AUTO_TROT = 3,
    /**
     * HINT_AUTO_AMBLE - HINT_AUTO_AMBLE is deprecated due to the name being too similar to the Spot Autowalk feature.
     * It has been replaced by HINT_SPEED_SELECT_AMBLE. Keeping this value in here for now for backwards
     * compatibility, but this may be removed in future releases.
     */
    HINT_AUTO_AMBLE = 6,
    UNRECOGNIZED = -1
}
export declare function locomotionHintFromJSON(object: any): LocomotionHint;
export declare function locomotionHintToJSON(object: LocomotionHint): string;
/** The type of swing height for a step. */
export declare enum SwingHeight {
    /** SWING_HEIGHT_UNKNOWN - Invalid; do not use. */
    SWING_HEIGHT_UNKNOWN = 0,
    /** SWING_HEIGHT_LOW - Low-stepping. Robot will try to only swing legs a few cm away from ground. */
    SWING_HEIGHT_LOW = 1,
    /** SWING_HEIGHT_MEDIUM - Default for most cases, use other values with caution. */
    SWING_HEIGHT_MEDIUM = 2,
    /** SWING_HEIGHT_HIGH - High-stepping. Possibly useful with degraded vision operation. */
    SWING_HEIGHT_HIGH = 3,
    UNRECOGNIZED = -1
}
export declare function swingHeightFromJSON(object: any): SwingHeight;
export declare function swingHeightToJSON(object: SwingHeight): string;
/** Params common across spot movement and mobility. */
export interface MobilityParams {
    /** Max allowable velocity at any point in trajectory. */
    velLimit: SE2VelocityLimit | undefined;
    /** Parameters for controlling Spot's body during motion. */
    bodyControl: BodyControlParams | undefined;
    /** Desired gait during locomotion */
    locomotionHint: LocomotionHint;
    /**
     * Stairs are only supported in trot gaits. Using this hint will override some user defaults in
     * order to optimize stair behavior.
     */
    stairHint: boolean;
    /** Allow the robot to move with degraded perception when there are perception faults. */
    allowDegradedPerception: boolean;
    /** Control of obstacle avoidance. */
    obstacleParams: ObstacleParams | undefined;
    /** Swing height setting */
    swingHeight: SwingHeight;
    /** Ground terrain parameters. */
    terrainParams: TerrainParams | undefined;
    /** Prevent the robot from using StairTracker even if in stairs mode. */
    disallowStairTracker: boolean;
    /**
     * Prevent the robot from automatically walking off a staircase in the case of an error
     * (ex: e-stop settle_then_cut, critical battery level)
     */
    disableStairErrorAutoDescent: boolean;
    /** Robot Body External Force parameters */
    externalForceParams: BodyExternalForceParams | undefined;
    /** Prevent the robot from pitching to get a better look at rearward terrain except in stairs mode. */
    disallowNonStairsPitchLimiting: boolean;
    /** Disable the secondary nearmap-based cliff avoidance that runs while on stairs. */
    disableNearmapCliffAvoidance: boolean;
}
/** Parameters for offsetting the body from the normal default. */
export interface BodyControlParams {
    /**
     * Desired base offset relative to the footprint pseudo-frame.
     * The footprint pseudo-frame is a gravity aligned frame with its origin located at the
     * geometric center of the feet in the X-Y axis, and at the nominal height of the hips in the Z axis.
     * The yaw of the frame (wrt the world) is calcuated by the average foot locations, and is aligned with the feet.
     */
    baseOffsetRtFootprint: SE3Trajectory | undefined;
    /**
     * The base will adjust to assist with manipulation, adjusting its height, pitch, and yaw as a function of
     * the hand's location.  Note, manipulation assisted body control is only available for ArmCommand requests
     * that control the end-effector, and are expressed in an inertial frame.  For example, sending a
     * ArmCartesianCommand request with root_frame_name set to "odom" will allow the robot to compute a body
     * adjustment.  However, sending a ArmCartesianCommand request with root_frame_name set to "body" or
     * sending an ArmJointMoveCommand request is incompatible, and the body will reset to default height
     * and orientation.
     */
    bodyAssistForManipulation: BodyControlParams_BodyAssistForManipulation | undefined;
    /** The rotation setting for the robot body.  Ignored if body_assist_for_manipulation is requested. */
    rotationSetting: BodyControlParams_RotationSetting;
}
/**
 * Setting for how the robot interprets base offset pitch & roll components.
 * In the default case (ROTATION_SETTING_OFFSET) the robot will naturally align the body to the pitch of the current terrain.
 * In some circumstances, the user may wish to override this value and try to maintain alignment
 * with respect to gravity. Be careful with this setting as it may likely degrade robot performance in
 * complex terrain, e.g. stairs, platforms, or slopes of sufficiently high grade.
 */
export declare enum BodyControlParams_RotationSetting {
    /** ROTATION_SETTING_UNKNOWN - Invalid; do not use. */
    ROTATION_SETTING_UNKNOWN = 0,
    /** ROTATION_SETTING_OFFSET - Pitch & Roll are offset with respect to orientation of the footprint. */
    ROTATION_SETTING_OFFSET = 1,
    /** ROTATION_SETTING_ABSOLUTE - Pitch & Roll are offset with respect to gravity. */
    ROTATION_SETTING_ABSOLUTE = 2,
    UNRECOGNIZED = -1
}
export declare function bodyControlParams_RotationSettingFromJSON(object: any): BodyControlParams_RotationSetting;
export declare function bodyControlParams_RotationSettingToJSON(object: BodyControlParams_RotationSetting): string;
/**
 * Instead of directly specify the base offset trajectory, these options allow the robot to calcuate offsets
 * based on the hand's location.  If the robot does not have a SpotArm attached, sending this request will
 * hvae no effect.
 */
export interface BodyControlParams_BodyAssistForManipulation {
    /** Enable the use of body yaw to assist with manipulation. */
    enableBodyYawAssist: boolean;
    /** Enable use of hip height (e.g. body height/pitch) to assist with manipulation. */
    enableHipHeightAssist: boolean;
}
/** Parameters for obstacle avoidance types. */
export interface ObstacleParams {
    /** Use vision to make the feet avoid obstacles by swinging higher? */
    disableVisionFootObstacleAvoidance: boolean;
    /** Use vision to make the feet avoid constraints like edges of stairs? */
    disableVisionFootConstraintAvoidance: boolean;
    /** Use vision to make the body avoid obstacles? */
    disableVisionBodyObstacleAvoidance: boolean;
    /**
     * Desired padding around the body to use when attempting to avoid obstacles.
     * Described in meters. Must be >= 0.
     */
    obstacleAvoidancePadding: number;
    /**
     * Prevent the robot body from raising above nominal height to avoid lower-leg collisions with
     * the terrain.
     */
    disableVisionFootObstacleBodyAssist: boolean;
    /** Use vision to make the robot avoid stepping into negative obstacles? */
    disableVisionNegativeObstacles: boolean;
}
/** Ground contact parameters that describe the terrain. */
export interface TerrainParams {
    /**
     * Terrain coefficient of friction user hint. This value must be postive and will clamped if
     * necessary on the robot side. Best suggested values lie in the range between 0.4 and 0.8
     * (which is the robot's default.)
     */
    groundMuHint: number | undefined;
    /**
     * ** Deprecation Warning ***
     * DEPRECATED as of 3.0.0: The boolean field has been replaced by the field grated_surfaces_mode
     * The following field will be deprecated and moved to 'reserved' in a future release.
     *
     * @deprecated
     */
    enableGratedFloor: boolean;
    /** The selected option for grated surfaces mode */
    gratedSurfacesMode: TerrainParams_GratedSurfacesMode;
}
/**
 * Options for Grated Surfaces Mode. When Grated Surfaces Mode is on, the robot assumes the
 * ground below it is made of grated metal or other repeated pattern. When on, the robot will
 * make assumptions about the environment structure and more aggressively filter noise in
 * perception data.
 */
export declare enum TerrainParams_GratedSurfacesMode {
    /** GRATED_SURFACES_MODE_UNKNOWN - Invalid; do not use. */
    GRATED_SURFACES_MODE_UNKNOWN = 0,
    GRATED_SURFACES_MODE_OFF = 1,
    GRATED_SURFACES_MODE_ON = 2,
    /** GRATED_SURFACES_MODE_AUTO - Robot will automatically turn mode on or off */
    GRATED_SURFACES_MODE_AUTO = 3,
    UNRECOGNIZED = -1
}
export declare function terrainParams_GratedSurfacesModeFromJSON(object: any): TerrainParams_GratedSurfacesMode;
export declare function terrainParams_GratedSurfacesModeToJSON(object: TerrainParams_GratedSurfacesMode): string;
/**
 * External Force on robot body parameters. This is a beta feature and still can have some odd behaviors.
 * By default, the external force estimator is disabled on the robot.
 */
export interface BodyExternalForceParams {
    /** The type of external force described by the parameters. */
    externalForceIndicator: BodyExternalForceParams_ExternalForceIndicator;
    /** The frame name for which the external_force_override is defined in. The frame must be known to the robot. */
    frameName: string;
    /**
     * Specifies a force that the body should expect to feel. This allows the robot to "lean into"
     * an external force. Be careful using this override, since incorrect information can cause
     * the robot to fall over.
     * For example, if the robot is leaning against a wall in front of it, the force override would be in the
     * negative x dimension. If the robot was pulling something directly behind it, the force override would
     * be in the negative x dimension as well.
     */
    externalForceOverride: Vec3 | undefined;
}
/**
 * Indicates what external force estimate/override the robot should use.
 * By default, the external force estimator is disabled on the robot.
 */
export declare enum BodyExternalForceParams_ExternalForceIndicator {
    /** EXTERNAL_FORCE_NONE - No external forces considered. */
    EXTERNAL_FORCE_NONE = 0,
    /** EXTERNAL_FORCE_USE_ESTIMATE - Use external forces estimated by the robot */
    EXTERNAL_FORCE_USE_ESTIMATE = 1,
    /** EXTERNAL_FORCE_USE_OVERRIDE - Use external forces specified in an override vector. */
    EXTERNAL_FORCE_USE_OVERRIDE = 2,
    UNRECOGNIZED = -1
}
export declare function bodyExternalForceParams_ExternalForceIndicatorFromJSON(object: any): BodyExternalForceParams_ExternalForceIndicator;
export declare function bodyExternalForceParams_ExternalForceIndicatorToJSON(object: BodyExternalForceParams_ExternalForceIndicator): string;
export declare const MobilityParams: {
    encode(message: MobilityParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): MobilityParams;
    fromJSON(object: any): MobilityParams;
    toJSON(message: MobilityParams): unknown;
    fromPartial<I extends {
        velLimit?: {
            maxVel?: {
                linear?: {
                    x?: number | undefined;
                    y?: number | undefined;
                } | undefined;
                angular?: number | undefined;
            } | undefined;
            minVel?: {
                linear?: {
                    x?: number | undefined;
                    y?: number | undefined;
                } | undefined;
                angular?: number | undefined;
            } | undefined;
        } | undefined;
        bodyControl?: {
            baseOffsetRtFootprint?: {
                points?: {
                    pose?: {
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } | undefined;
                    velocity?: {
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } | undefined;
                    timeSinceReference?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                }[] | undefined;
                referenceTime?: Date | undefined;
                posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
                angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
            } | undefined;
            bodyAssistForManipulation?: {
                enableBodyYawAssist?: boolean | undefined;
                enableHipHeightAssist?: boolean | undefined;
            } | undefined;
            rotationSetting?: BodyControlParams_RotationSetting | undefined;
        } | undefined;
        locomotionHint?: LocomotionHint | undefined;
        stairHint?: boolean | undefined;
        allowDegradedPerception?: boolean | undefined;
        obstacleParams?: {
            disableVisionFootObstacleAvoidance?: boolean | undefined;
            disableVisionFootConstraintAvoidance?: boolean | undefined;
            disableVisionBodyObstacleAvoidance?: boolean | undefined;
            obstacleAvoidancePadding?: number | undefined;
            disableVisionFootObstacleBodyAssist?: boolean | undefined;
            disableVisionNegativeObstacles?: boolean | undefined;
        } | undefined;
        swingHeight?: SwingHeight | undefined;
        terrainParams?: {
            groundMuHint?: number | undefined;
            enableGratedFloor?: boolean | undefined;
            gratedSurfacesMode?: TerrainParams_GratedSurfacesMode | undefined;
        } | undefined;
        disallowStairTracker?: boolean | undefined;
        disableStairErrorAutoDescent?: boolean | undefined;
        externalForceParams?: {
            externalForceIndicator?: BodyExternalForceParams_ExternalForceIndicator | undefined;
            frameName?: string | undefined;
            externalForceOverride?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
        } | undefined;
        disallowNonStairsPitchLimiting?: boolean | undefined;
        disableNearmapCliffAvoidance?: boolean | undefined;
    } & {
        velLimit?: ({
            maxVel?: {
                linear?: {
                    x?: number | undefined;
                    y?: number | undefined;
                } | undefined;
                angular?: number | undefined;
            } | undefined;
            minVel?: {
                linear?: {
                    x?: number | undefined;
                    y?: number | undefined;
                } | undefined;
                angular?: number | undefined;
            } | undefined;
        } & {
            maxVel?: ({
                linear?: {
                    x?: number | undefined;
                    y?: number | undefined;
                } | undefined;
                angular?: number | undefined;
            } & {
                linear?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & { [K in Exclude<keyof I["velLimit"]["maxVel"]["linear"], keyof import("../geometry").Vec2>]: never; }) | undefined;
                angular?: number | undefined;
            } & { [K_1 in Exclude<keyof I["velLimit"]["maxVel"], keyof import("../geometry").SE2Velocity>]: never; }) | undefined;
            minVel?: ({
                linear?: {
                    x?: number | undefined;
                    y?: number | undefined;
                } | undefined;
                angular?: number | undefined;
            } & {
                linear?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                } & { [K_2 in Exclude<keyof I["velLimit"]["minVel"]["linear"], keyof import("../geometry").Vec2>]: never; }) | undefined;
                angular?: number | undefined;
            } & { [K_3 in Exclude<keyof I["velLimit"]["minVel"], keyof import("../geometry").SE2Velocity>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["velLimit"], keyof SE2VelocityLimit>]: never; }) | undefined;
        bodyControl?: ({
            baseOffsetRtFootprint?: {
                points?: {
                    pose?: {
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } | undefined;
                    velocity?: {
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } | undefined;
                    timeSinceReference?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                }[] | undefined;
                referenceTime?: Date | undefined;
                posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
                angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
            } | undefined;
            bodyAssistForManipulation?: {
                enableBodyYawAssist?: boolean | undefined;
                enableHipHeightAssist?: boolean | undefined;
            } | undefined;
            rotationSetting?: BodyControlParams_RotationSetting | undefined;
        } & {
            baseOffsetRtFootprint?: ({
                points?: {
                    pose?: {
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } | undefined;
                    velocity?: {
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } | undefined;
                    timeSinceReference?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                }[] | undefined;
                referenceTime?: Date | undefined;
                posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
                angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
            } & {
                points?: ({
                    pose?: {
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } | undefined;
                    velocity?: {
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } | undefined;
                    timeSinceReference?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                }[] & ({
                    pose?: {
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } | undefined;
                    velocity?: {
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } | undefined;
                    timeSinceReference?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                } & {
                    pose?: ({
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } & {
                        position?: ({
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } & {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } & { [K_5 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["pose"]["position"], keyof Vec3>]: never; }) | undefined;
                        rotation?: ({
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } & {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } & { [K_6 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["pose"]["rotation"], keyof import("../geometry").Quaternion>]: never; }) | undefined;
                    } & { [K_7 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["pose"], keyof import("../geometry").SE3Pose>]: never; }) | undefined;
                    velocity?: ({
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } & {
                        linear?: ({
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } & {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } & { [K_8 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["velocity"]["linear"], keyof Vec3>]: never; }) | undefined;
                        angular?: ({
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } & {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } & { [K_9 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["velocity"]["angular"], keyof Vec3>]: never; }) | undefined;
                    } & { [K_10 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["velocity"], keyof import("../geometry").SE3Velocity>]: never; }) | undefined;
                    timeSinceReference?: ({
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } & { [K_11 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number]["timeSinceReference"], keyof import("../../../google/protobuf/duration").Duration>]: never; }) | undefined;
                } & { [K_12 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"][number], keyof import("../trajectory").SE3TrajectoryPoint>]: never; })[] & { [K_13 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"]["points"], keyof {
                    pose?: {
                        position?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        rotation?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                            w?: number | undefined;
                        } | undefined;
                    } | undefined;
                    velocity?: {
                        linear?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                        angular?: {
                            x?: number | undefined;
                            y?: number | undefined;
                            z?: number | undefined;
                        } | undefined;
                    } | undefined;
                    timeSinceReference?: {
                        seconds?: number | undefined;
                        nanos?: number | undefined;
                    } | undefined;
                }[]>]: never; }) | undefined;
                referenceTime?: Date | undefined;
                posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
                angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
            } & { [K_14 in Exclude<keyof I["bodyControl"]["baseOffsetRtFootprint"], keyof SE3Trajectory>]: never; }) | undefined;
            bodyAssistForManipulation?: ({
                enableBodyYawAssist?: boolean | undefined;
                enableHipHeightAssist?: boolean | undefined;
            } & {
                enableBodyYawAssist?: boolean | undefined;
                enableHipHeightAssist?: boolean | undefined;
            } & { [K_15 in Exclude<keyof I["bodyControl"]["bodyAssistForManipulation"], keyof BodyControlParams_BodyAssistForManipulation>]: never; }) | undefined;
            rotationSetting?: BodyControlParams_RotationSetting | undefined;
        } & { [K_16 in Exclude<keyof I["bodyControl"], keyof BodyControlParams>]: never; }) | undefined;
        locomotionHint?: LocomotionHint | undefined;
        stairHint?: boolean | undefined;
        allowDegradedPerception?: boolean | undefined;
        obstacleParams?: ({
            disableVisionFootObstacleAvoidance?: boolean | undefined;
            disableVisionFootConstraintAvoidance?: boolean | undefined;
            disableVisionBodyObstacleAvoidance?: boolean | undefined;
            obstacleAvoidancePadding?: number | undefined;
            disableVisionFootObstacleBodyAssist?: boolean | undefined;
            disableVisionNegativeObstacles?: boolean | undefined;
        } & {
            disableVisionFootObstacleAvoidance?: boolean | undefined;
            disableVisionFootConstraintAvoidance?: boolean | undefined;
            disableVisionBodyObstacleAvoidance?: boolean | undefined;
            obstacleAvoidancePadding?: number | undefined;
            disableVisionFootObstacleBodyAssist?: boolean | undefined;
            disableVisionNegativeObstacles?: boolean | undefined;
        } & { [K_17 in Exclude<keyof I["obstacleParams"], keyof ObstacleParams>]: never; }) | undefined;
        swingHeight?: SwingHeight | undefined;
        terrainParams?: ({
            groundMuHint?: number | undefined;
            enableGratedFloor?: boolean | undefined;
            gratedSurfacesMode?: TerrainParams_GratedSurfacesMode | undefined;
        } & {
            groundMuHint?: number | undefined;
            enableGratedFloor?: boolean | undefined;
            gratedSurfacesMode?: TerrainParams_GratedSurfacesMode | undefined;
        } & { [K_18 in Exclude<keyof I["terrainParams"], keyof TerrainParams>]: never; }) | undefined;
        disallowStairTracker?: boolean | undefined;
        disableStairErrorAutoDescent?: boolean | undefined;
        externalForceParams?: ({
            externalForceIndicator?: BodyExternalForceParams_ExternalForceIndicator | undefined;
            frameName?: string | undefined;
            externalForceOverride?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
        } & {
            externalForceIndicator?: BodyExternalForceParams_ExternalForceIndicator | undefined;
            frameName?: string | undefined;
            externalForceOverride?: ({
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & { [K_19 in Exclude<keyof I["externalForceParams"]["externalForceOverride"], keyof Vec3>]: never; }) | undefined;
        } & { [K_20 in Exclude<keyof I["externalForceParams"], keyof BodyExternalForceParams>]: never; }) | undefined;
        disallowNonStairsPitchLimiting?: boolean | undefined;
        disableNearmapCliffAvoidance?: boolean | undefined;
    } & { [K_21 in Exclude<keyof I, keyof MobilityParams>]: never; }>(object: I): MobilityParams;
};
export declare const BodyControlParams: {
    encode(message: BodyControlParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BodyControlParams;
    fromJSON(object: any): BodyControlParams;
    toJSON(message: BodyControlParams): unknown;
    fromPartial<I extends {
        baseOffsetRtFootprint?: {
            points?: {
                pose?: {
                    position?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    rotation?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } | undefined;
                } | undefined;
                velocity?: {
                    linear?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    angular?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                } | undefined;
                timeSinceReference?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            }[] | undefined;
            referenceTime?: Date | undefined;
            posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
            angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
        } | undefined;
        bodyAssistForManipulation?: {
            enableBodyYawAssist?: boolean | undefined;
            enableHipHeightAssist?: boolean | undefined;
        } | undefined;
        rotationSetting?: BodyControlParams_RotationSetting | undefined;
    } & {
        baseOffsetRtFootprint?: ({
            points?: {
                pose?: {
                    position?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    rotation?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } | undefined;
                } | undefined;
                velocity?: {
                    linear?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    angular?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                } | undefined;
                timeSinceReference?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            }[] | undefined;
            referenceTime?: Date | undefined;
            posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
            angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
        } & {
            points?: ({
                pose?: {
                    position?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    rotation?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } | undefined;
                } | undefined;
                velocity?: {
                    linear?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    angular?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                } | undefined;
                timeSinceReference?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            }[] & ({
                pose?: {
                    position?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    rotation?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } | undefined;
                } | undefined;
                velocity?: {
                    linear?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    angular?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                } | undefined;
                timeSinceReference?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            } & {
                pose?: ({
                    position?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    rotation?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } | undefined;
                } & {
                    position?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } & { [K in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["pose"]["position"], keyof Vec3>]: never; }) | undefined;
                    rotation?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } & { [K_1 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["pose"]["rotation"], keyof import("../geometry").Quaternion>]: never; }) | undefined;
                } & { [K_2 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["pose"], keyof import("../geometry").SE3Pose>]: never; }) | undefined;
                velocity?: ({
                    linear?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    angular?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                } & {
                    linear?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } & { [K_3 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["velocity"]["linear"], keyof Vec3>]: never; }) | undefined;
                    angular?: ({
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } & {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } & { [K_4 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["velocity"]["angular"], keyof Vec3>]: never; }) | undefined;
                } & { [K_5 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["velocity"], keyof import("../geometry").SE3Velocity>]: never; }) | undefined;
                timeSinceReference?: ({
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } & { [K_6 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number]["timeSinceReference"], keyof import("../../../google/protobuf/duration").Duration>]: never; }) | undefined;
            } & { [K_7 in Exclude<keyof I["baseOffsetRtFootprint"]["points"][number], keyof import("../trajectory").SE3TrajectoryPoint>]: never; })[] & { [K_8 in Exclude<keyof I["baseOffsetRtFootprint"]["points"], keyof {
                pose?: {
                    position?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    rotation?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                        w?: number | undefined;
                    } | undefined;
                } | undefined;
                velocity?: {
                    linear?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                    angular?: {
                        x?: number | undefined;
                        y?: number | undefined;
                        z?: number | undefined;
                    } | undefined;
                } | undefined;
                timeSinceReference?: {
                    seconds?: number | undefined;
                    nanos?: number | undefined;
                } | undefined;
            }[]>]: never; }) | undefined;
            referenceTime?: Date | undefined;
            posInterpolation?: import("../trajectory").PositionalInterpolation | undefined;
            angInterpolation?: import("../trajectory").AngularInterpolation | undefined;
        } & { [K_9 in Exclude<keyof I["baseOffsetRtFootprint"], keyof SE3Trajectory>]: never; }) | undefined;
        bodyAssistForManipulation?: ({
            enableBodyYawAssist?: boolean | undefined;
            enableHipHeightAssist?: boolean | undefined;
        } & {
            enableBodyYawAssist?: boolean | undefined;
            enableHipHeightAssist?: boolean | undefined;
        } & { [K_10 in Exclude<keyof I["bodyAssistForManipulation"], keyof BodyControlParams_BodyAssistForManipulation>]: never; }) | undefined;
        rotationSetting?: BodyControlParams_RotationSetting | undefined;
    } & { [K_11 in Exclude<keyof I, keyof BodyControlParams>]: never; }>(object: I): BodyControlParams;
};
export declare const BodyControlParams_BodyAssistForManipulation: {
    encode(message: BodyControlParams_BodyAssistForManipulation, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BodyControlParams_BodyAssistForManipulation;
    fromJSON(object: any): BodyControlParams_BodyAssistForManipulation;
    toJSON(message: BodyControlParams_BodyAssistForManipulation): unknown;
    fromPartial<I extends {
        enableBodyYawAssist?: boolean | undefined;
        enableHipHeightAssist?: boolean | undefined;
    } & {
        enableBodyYawAssist?: boolean | undefined;
        enableHipHeightAssist?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof BodyControlParams_BodyAssistForManipulation>]: never; }>(object: I): BodyControlParams_BodyAssistForManipulation;
};
export declare const ObstacleParams: {
    encode(message: ObstacleParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): ObstacleParams;
    fromJSON(object: any): ObstacleParams;
    toJSON(message: ObstacleParams): unknown;
    fromPartial<I extends {
        disableVisionFootObstacleAvoidance?: boolean | undefined;
        disableVisionFootConstraintAvoidance?: boolean | undefined;
        disableVisionBodyObstacleAvoidance?: boolean | undefined;
        obstacleAvoidancePadding?: number | undefined;
        disableVisionFootObstacleBodyAssist?: boolean | undefined;
        disableVisionNegativeObstacles?: boolean | undefined;
    } & {
        disableVisionFootObstacleAvoidance?: boolean | undefined;
        disableVisionFootConstraintAvoidance?: boolean | undefined;
        disableVisionBodyObstacleAvoidance?: boolean | undefined;
        obstacleAvoidancePadding?: number | undefined;
        disableVisionFootObstacleBodyAssist?: boolean | undefined;
        disableVisionNegativeObstacles?: boolean | undefined;
    } & { [K in Exclude<keyof I, keyof ObstacleParams>]: never; }>(object: I): ObstacleParams;
};
export declare const TerrainParams: {
    encode(message: TerrainParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): TerrainParams;
    fromJSON(object: any): TerrainParams;
    toJSON(message: TerrainParams): unknown;
    fromPartial<I extends {
        groundMuHint?: number | undefined;
        enableGratedFloor?: boolean | undefined;
        gratedSurfacesMode?: TerrainParams_GratedSurfacesMode | undefined;
    } & {
        groundMuHint?: number | undefined;
        enableGratedFloor?: boolean | undefined;
        gratedSurfacesMode?: TerrainParams_GratedSurfacesMode | undefined;
    } & { [K in Exclude<keyof I, keyof TerrainParams>]: never; }>(object: I): TerrainParams;
};
export declare const BodyExternalForceParams: {
    encode(message: BodyExternalForceParams, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): BodyExternalForceParams;
    fromJSON(object: any): BodyExternalForceParams;
    toJSON(message: BodyExternalForceParams): unknown;
    fromPartial<I extends {
        externalForceIndicator?: BodyExternalForceParams_ExternalForceIndicator | undefined;
        frameName?: string | undefined;
        externalForceOverride?: {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } | undefined;
    } & {
        externalForceIndicator?: BodyExternalForceParams_ExternalForceIndicator | undefined;
        frameName?: string | undefined;
        externalForceOverride?: ({
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & { [K in Exclude<keyof I["externalForceOverride"], keyof Vec3>]: never; }) | undefined;
    } & { [K_1 in Exclude<keyof I, keyof BodyExternalForceParams>]: never; }>(object: I): BodyExternalForceParams;
};
declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
export declare type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {} ? {
    [K in keyof T]?: DeepPartial<T[K]>;
} : Partial<T>;
declare type KeysOfUnion<T> = T extends T ? keyof T : never;
export declare type Exact<P, I extends P> = P extends Builtin ? P : P & {
    [K in keyof P]: Exact<P[K], I[K]>;
} & {
    [K in Exclude<keyof I, KeysOfUnion<P>>]: never;
};
export {};
//# sourceMappingURL=robot_command.d.ts.map