import { RobotCommandFeedbackStatus_Status } from "../basic_command";
import { RequestHeader, ResponseHeader } from "../header";
import { Lease, LeaseUseResult } from "../lease";
import { Vec3 } from "../geometry";
import _m0 from "protobufjs/minimal";
export declare const protobufPackage = "bosdyn.api.spot";
/** A door command for the robot to execute plus a lease. */
export interface OpenDoorCommandRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /** The Lease to show ownership of the robot. */
    lease: Lease | undefined;
    /** The command to execute. */
    doorCommand: DoorCommand_Request | undefined;
}
/** Response to the door command request. */
export interface OpenDoorCommandResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /** Details about how the lease was used. */
    leaseUseResult: LeaseUseResult | undefined;
    /** Return status for a request. */
    status: OpenDoorCommandResponse_Status;
    /** Human-readable error description.  Not for programmatic analysis. */
    message: string;
    /** Unique identifier for the command, If empty, command was not accepted. */
    doorCommandId: number;
}
export declare enum OpenDoorCommandResponse_Status {
    /** STATUS_UNKNOWN - An unknown / unexpected error occurred. */
    STATUS_UNKNOWN = 0,
    /** STATUS_OK - Request was accepted. */
    STATUS_OK = 1,
    /** STATUS_ROBOT_COMMAND_ERROR - Error sending command to RobotCommandService. */
    STATUS_ROBOT_COMMAND_ERROR = 2,
    UNRECOGNIZED = -1
}
export declare function openDoorCommandResponse_StatusFromJSON(object: any): OpenDoorCommandResponse_Status;
export declare function openDoorCommandResponse_StatusToJSON(object: OpenDoorCommandResponse_Status): string;
/** A request for feedback of a specific door command. */
export interface OpenDoorFeedbackRequest {
    /** Common request header. */
    header: RequestHeader | undefined;
    /** Unique identifier for the command, provided by OpenDoorResponse. */
    doorCommandId: number;
}
/** Feedback for a specific door command. This RPC reports the robot's progress opening a door. */
export interface OpenDoorFeedbackResponse {
    /** Common response header. */
    header: ResponseHeader | undefined;
    /** Generic robot command feedback. */
    status: RobotCommandFeedbackStatus_Status;
    /** Specific door full body command feedback. */
    feedback: DoorCommand_Feedback | undefined;
}
/** Door Command specific request and Feedback. */
export interface DoorCommand {
}
/**
 * Specify if the hinge is on the left or right side of the door, when looking at the door,
 * relative to the door handle.
 */
export declare enum DoorCommand_HingeSide {
    HINGE_SIDE_UNKNOWN = 0,
    HINGE_SIDE_LEFT = 1,
    HINGE_SIDE_RIGHT = 2,
    UNRECOGNIZED = -1
}
export declare function doorCommand_HingeSideFromJSON(object: any): DoorCommand_HingeSide;
export declare function doorCommand_HingeSideToJSON(object: DoorCommand_HingeSide): string;
/** Specify if the door is push or pull, when looking at the door. */
export declare enum DoorCommand_SwingDirection {
    SWING_DIRECTION_UNKNOWN = 0,
    /** @deprecated */
    SWING_DIRECTION_INSWING = 1,
    SWING_DIRECTION_PULL = 1,
    /** @deprecated */
    SWING_DIRECTION_OUTSWING = 2,
    SWING_DIRECTION_PUSH = 2,
    UNRECOGNIZED = -1
}
export declare function doorCommand_SwingDirectionFromJSON(object: any): DoorCommand_SwingDirection;
export declare function doorCommand_SwingDirectionToJSON(object: DoorCommand_SwingDirection): string;
/** Specify type of door handle. */
export declare enum DoorCommand_HandleType {
    HANDLE_TYPE_UNKNOWN = 0,
    HANDLE_TYPE_LEVER = 1,
    HANDLE_TYPE_KNOB = 2,
    HANDLE_TYPE_FIXED_GRASP = 3,
    UNRECOGNIZED = -1
}
export declare function doorCommand_HandleTypeFromJSON(object: any): DoorCommand_HandleType;
export declare function doorCommand_HandleTypeToJSON(object: DoorCommand_HandleType): string;
/**
 * The robot searches along a ray for the door handle and automatically grasp it before
 * executing door opening.
 */
export interface DoorCommand_AutoGraspCommand {
    /** The name of the frame that the following fields are expressed in. */
    frameName: string;
    /** The start of the ray the robot searches along for the door handle. */
    searchRayStartInFrame: Vec3 | undefined;
    /** The end of the ray the robot searches along for the door handle. */
    searchRayEndInFrame: Vec3 | undefined;
    /** The side of the hinge with respect to the robot when facing the door. */
    hingeSide: DoorCommand_HingeSide;
    /** The direction the door moves with respect to the robot. */
    swingDirection: DoorCommand_SwingDirection;
}
/**
 * The robot is already grasping the door handle and will continue opening the door based on
 * user specified params.
 */
export interface DoorCommand_WarmstartCommand {
    /** The side of the hinge with respect to the robot when facing the door. */
    hingeSide: DoorCommand_HingeSide;
    /** The direction the door moves with respect to the robot. */
    swingDirection: DoorCommand_SwingDirection;
    /** The type of handle on the door. */
    handleType: DoorCommand_HandleType;
}
/**
 * Open doors that do not require a grasp, just a push. This could be a door with no latching
 * mechanism that just requires a push, or a door with a pushbar.
 * The robot will automatically push the door open and walk through.
 */
export interface DoorCommand_AutoPushCommand {
    /** The name of the frame that the following fields are expressed in. */
    frameName: string;
    /** The point that the robot will push on. */
    pushPointInFrame: Vec3 | undefined;
    /** The side of the hinge with respect to the robot when facing the door. */
    hingeSide: DoorCommand_HingeSide;
}
export interface DoorCommand_Request {
    autoGraspCommand: DoorCommand_AutoGraspCommand | undefined;
    warmstartCommand: DoorCommand_WarmstartCommand | undefined;
    autoPushCommand: DoorCommand_AutoPushCommand | undefined;
}
export interface DoorCommand_Feedback {
    /** Current status of the command. */
    status: DoorCommand_Feedback_Status;
}
export declare enum DoorCommand_Feedback_Status {
    /** STATUS_UNKNOWN - STATUS_UNKNOWN should never be used. If used, an internal error has happened. */
    STATUS_UNKNOWN = 0,
    /** STATUS_COMPLETED - Robot has finished opening the door. */
    STATUS_COMPLETED = 1,
    /** STATUS_IN_PROGRESS - Robot is attempting to open the door. */
    STATUS_IN_PROGRESS = 2,
    UNRECOGNIZED = -1
}
export declare function doorCommand_Feedback_StatusFromJSON(object: any): DoorCommand_Feedback_Status;
export declare function doorCommand_Feedback_StatusToJSON(object: DoorCommand_Feedback_Status): string;
export declare const OpenDoorCommandRequest: {
    encode(message: OpenDoorCommandRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OpenDoorCommandRequest;
    fromJSON(object: any): OpenDoorCommandRequest;
    toJSON(message: OpenDoorCommandRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        lease?: {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } | undefined;
        doorCommand?: {
            autoGraspCommand?: {
                frameName?: string | undefined;
                searchRayStartInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                searchRayEndInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
            } | undefined;
            warmstartCommand?: {
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
                handleType?: DoorCommand_HandleType | undefined;
            } | undefined;
            autoPushCommand?: {
                frameName?: string | undefined;
                pushPointInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
            } | undefined;
        } | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        lease?: ({
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: number[] | undefined;
            clientNames?: string[] | undefined;
        } & {
            resource?: string | undefined;
            epoch?: string | undefined;
            sequence?: (number[] & number[] & { [K_1 in Exclude<keyof I["lease"]["sequence"], keyof number[]>]: never; }) | undefined;
            clientNames?: (string[] & string[] & { [K_2 in Exclude<keyof I["lease"]["clientNames"], keyof string[]>]: never; }) | undefined;
        } & { [K_3 in Exclude<keyof I["lease"], keyof Lease>]: never; }) | undefined;
        doorCommand?: ({
            autoGraspCommand?: {
                frameName?: string | undefined;
                searchRayStartInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                searchRayEndInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
            } | undefined;
            warmstartCommand?: {
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
                handleType?: DoorCommand_HandleType | undefined;
            } | undefined;
            autoPushCommand?: {
                frameName?: string | undefined;
                pushPointInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
            } | undefined;
        } & {
            autoGraspCommand?: ({
                frameName?: string | undefined;
                searchRayStartInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                searchRayEndInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
            } & {
                frameName?: string | undefined;
                searchRayStartInFrame?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } & { [K_4 in Exclude<keyof I["doorCommand"]["autoGraspCommand"]["searchRayStartInFrame"], keyof Vec3>]: never; }) | undefined;
                searchRayEndInFrame?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } & { [K_5 in Exclude<keyof I["doorCommand"]["autoGraspCommand"]["searchRayEndInFrame"], keyof Vec3>]: never; }) | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
            } & { [K_6 in Exclude<keyof I["doorCommand"]["autoGraspCommand"], keyof DoorCommand_AutoGraspCommand>]: never; }) | undefined;
            warmstartCommand?: ({
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
                handleType?: DoorCommand_HandleType | undefined;
            } & {
                hingeSide?: DoorCommand_HingeSide | undefined;
                swingDirection?: DoorCommand_SwingDirection | undefined;
                handleType?: DoorCommand_HandleType | undefined;
            } & { [K_7 in Exclude<keyof I["doorCommand"]["warmstartCommand"], keyof DoorCommand_WarmstartCommand>]: never; }) | undefined;
            autoPushCommand?: ({
                frameName?: string | undefined;
                pushPointInFrame?: {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
            } & {
                frameName?: string | undefined;
                pushPointInFrame?: ({
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } & {
                    x?: number | undefined;
                    y?: number | undefined;
                    z?: number | undefined;
                } & { [K_8 in Exclude<keyof I["doorCommand"]["autoPushCommand"]["pushPointInFrame"], keyof Vec3>]: never; }) | undefined;
                hingeSide?: DoorCommand_HingeSide | undefined;
            } & { [K_9 in Exclude<keyof I["doorCommand"]["autoPushCommand"], keyof DoorCommand_AutoPushCommand>]: never; }) | undefined;
        } & { [K_10 in Exclude<keyof I["doorCommand"], keyof DoorCommand_Request>]: never; }) | undefined;
    } & { [K_11 in Exclude<keyof I, keyof OpenDoorCommandRequest>]: never; }>(object: I): OpenDoorCommandRequest;
};
export declare const OpenDoorCommandResponse: {
    encode(message: OpenDoorCommandResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OpenDoorCommandResponse;
    fromJSON(object: any): OpenDoorCommandResponse;
    toJSON(message: OpenDoorCommandResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        leaseUseResult?: {
            status?: import("../lease").LeaseUseResult_Status | undefined;
            owner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            attemptedLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            previousLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestKnownLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestResources?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[] | undefined;
        } | undefined;
        status?: OpenDoorCommandResponse_Status | undefined;
        message?: string | undefined;
        doorCommandId?: number | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("../header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        leaseUseResult?: ({
            status?: import("../lease").LeaseUseResult_Status | undefined;
            owner?: {
                clientName?: string | undefined;
                userName?: string | undefined;
            } | undefined;
            attemptedLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            previousLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestKnownLease?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } | undefined;
            latestResources?: {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[] | undefined;
        } & {
            status?: import("../lease").LeaseUseResult_Status | undefined;
            owner?: ({
                clientName?: string | undefined;
                userName?: string | undefined;
            } & {
                clientName?: string | undefined;
                userName?: string | undefined;
            } & { [K_5 in Exclude<keyof I["leaseUseResult"]["owner"], keyof import("../lease").LeaseOwner>]: never; }) | undefined;
            attemptedLease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_6 in Exclude<keyof I["leaseUseResult"]["attemptedLease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_7 in Exclude<keyof I["leaseUseResult"]["attemptedLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_8 in Exclude<keyof I["leaseUseResult"]["attemptedLease"], keyof Lease>]: never; }) | undefined;
            previousLease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_9 in Exclude<keyof I["leaseUseResult"]["previousLease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_10 in Exclude<keyof I["leaseUseResult"]["previousLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_11 in Exclude<keyof I["leaseUseResult"]["previousLease"], keyof Lease>]: never; }) | undefined;
            latestKnownLease?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_12 in Exclude<keyof I["leaseUseResult"]["latestKnownLease"]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_13 in Exclude<keyof I["leaseUseResult"]["latestKnownLease"]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_14 in Exclude<keyof I["leaseUseResult"]["latestKnownLease"], keyof Lease>]: never; }) | undefined;
            latestResources?: ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[] & ({
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            } & {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: (number[] & number[] & { [K_15 in Exclude<keyof I["leaseUseResult"]["latestResources"][number]["sequence"], keyof number[]>]: never; }) | undefined;
                clientNames?: (string[] & string[] & { [K_16 in Exclude<keyof I["leaseUseResult"]["latestResources"][number]["clientNames"], keyof string[]>]: never; }) | undefined;
            } & { [K_17 in Exclude<keyof I["leaseUseResult"]["latestResources"][number], keyof Lease>]: never; })[] & { [K_18 in Exclude<keyof I["leaseUseResult"]["latestResources"], keyof {
                resource?: string | undefined;
                epoch?: string | undefined;
                sequence?: number[] | undefined;
                clientNames?: string[] | undefined;
            }[]>]: never; }) | undefined;
        } & { [K_19 in Exclude<keyof I["leaseUseResult"], keyof LeaseUseResult>]: never; }) | undefined;
        status?: OpenDoorCommandResponse_Status | undefined;
        message?: string | undefined;
        doorCommandId?: number | undefined;
    } & { [K_20 in Exclude<keyof I, keyof OpenDoorCommandResponse>]: never; }>(object: I): OpenDoorCommandResponse;
};
export declare const OpenDoorFeedbackRequest: {
    encode(message: OpenDoorFeedbackRequest, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OpenDoorFeedbackRequest;
    fromJSON(object: any): OpenDoorFeedbackRequest;
    toJSON(message: OpenDoorFeedbackRequest): unknown;
    fromPartial<I extends {
        header?: {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } | undefined;
        doorCommandId?: number | undefined;
    } & {
        header?: ({
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & {
            requestTimestamp?: Date | undefined;
            clientName?: string | undefined;
            disableRpcLogging?: boolean | undefined;
        } & { [K in Exclude<keyof I["header"], keyof RequestHeader>]: never; }) | undefined;
        doorCommandId?: number | undefined;
    } & { [K_1 in Exclude<keyof I, keyof OpenDoorFeedbackRequest>]: never; }>(object: I): OpenDoorFeedbackRequest;
};
export declare const OpenDoorFeedbackResponse: {
    encode(message: OpenDoorFeedbackResponse, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): OpenDoorFeedbackResponse;
    fromJSON(object: any): OpenDoorFeedbackResponse;
    toJSON(message: OpenDoorFeedbackResponse): unknown;
    fromPartial<I extends {
        header?: {
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } | undefined;
        status?: RobotCommandFeedbackStatus_Status | undefined;
        feedback?: {
            status?: DoorCommand_Feedback_Status | undefined;
        } | undefined;
    } & {
        header?: ({
            requestHeader?: {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } | undefined;
            request?: {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } | undefined;
        } & {
            requestHeader?: ({
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & {
                requestTimestamp?: Date | undefined;
                clientName?: string | undefined;
                disableRpcLogging?: boolean | undefined;
            } & { [K in Exclude<keyof I["header"]["requestHeader"], keyof RequestHeader>]: never; }) | undefined;
            requestReceivedTimestamp?: Date | undefined;
            responseTimestamp?: Date | undefined;
            error?: ({
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } | undefined;
            } & {
                code?: import("../header").CommonError_Code | undefined;
                message?: string | undefined;
                data?: ({
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & {
                    typeUrl?: string | undefined;
                    value?: Uint8Array | undefined;
                } & { [K_1 in Exclude<keyof I["header"]["error"]["data"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
            } & { [K_2 in Exclude<keyof I["header"]["error"], keyof import("../header").CommonError>]: never; }) | undefined;
            request?: ({
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & {
                typeUrl?: string | undefined;
                value?: Uint8Array | undefined;
            } & { [K_3 in Exclude<keyof I["header"]["request"], keyof import("../../../google/protobuf/any").Any>]: never; }) | undefined;
        } & { [K_4 in Exclude<keyof I["header"], keyof ResponseHeader>]: never; }) | undefined;
        status?: RobotCommandFeedbackStatus_Status | undefined;
        feedback?: ({
            status?: DoorCommand_Feedback_Status | undefined;
        } & {
            status?: DoorCommand_Feedback_Status | undefined;
        } & { [K_5 in Exclude<keyof I["feedback"], "status">]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof OpenDoorFeedbackResponse>]: never; }>(object: I): OpenDoorFeedbackResponse;
};
export declare const DoorCommand: {
    encode(_: DoorCommand, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DoorCommand;
    fromJSON(_: any): DoorCommand;
    toJSON(_: DoorCommand): unknown;
    fromPartial<I extends {} & {} & { [K in Exclude<keyof I, never>]: never; }>(_: I): DoorCommand;
};
export declare const DoorCommand_AutoGraspCommand: {
    encode(message: DoorCommand_AutoGraspCommand, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DoorCommand_AutoGraspCommand;
    fromJSON(object: any): DoorCommand_AutoGraspCommand;
    toJSON(message: DoorCommand_AutoGraspCommand): unknown;
    fromPartial<I extends {
        frameName?: string | undefined;
        searchRayStartInFrame?: {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } | undefined;
        searchRayEndInFrame?: {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } | undefined;
        hingeSide?: DoorCommand_HingeSide | undefined;
        swingDirection?: DoorCommand_SwingDirection | undefined;
    } & {
        frameName?: string | undefined;
        searchRayStartInFrame?: ({
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & { [K in Exclude<keyof I["searchRayStartInFrame"], keyof Vec3>]: never; }) | undefined;
        searchRayEndInFrame?: ({
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & { [K_1 in Exclude<keyof I["searchRayEndInFrame"], keyof Vec3>]: never; }) | undefined;
        hingeSide?: DoorCommand_HingeSide | undefined;
        swingDirection?: DoorCommand_SwingDirection | undefined;
    } & { [K_2 in Exclude<keyof I, keyof DoorCommand_AutoGraspCommand>]: never; }>(object: I): DoorCommand_AutoGraspCommand;
};
export declare const DoorCommand_WarmstartCommand: {
    encode(message: DoorCommand_WarmstartCommand, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DoorCommand_WarmstartCommand;
    fromJSON(object: any): DoorCommand_WarmstartCommand;
    toJSON(message: DoorCommand_WarmstartCommand): unknown;
    fromPartial<I extends {
        hingeSide?: DoorCommand_HingeSide | undefined;
        swingDirection?: DoorCommand_SwingDirection | undefined;
        handleType?: DoorCommand_HandleType | undefined;
    } & {
        hingeSide?: DoorCommand_HingeSide | undefined;
        swingDirection?: DoorCommand_SwingDirection | undefined;
        handleType?: DoorCommand_HandleType | undefined;
    } & { [K in Exclude<keyof I, keyof DoorCommand_WarmstartCommand>]: never; }>(object: I): DoorCommand_WarmstartCommand;
};
export declare const DoorCommand_AutoPushCommand: {
    encode(message: DoorCommand_AutoPushCommand, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DoorCommand_AutoPushCommand;
    fromJSON(object: any): DoorCommand_AutoPushCommand;
    toJSON(message: DoorCommand_AutoPushCommand): unknown;
    fromPartial<I extends {
        frameName?: string | undefined;
        pushPointInFrame?: {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } | undefined;
        hingeSide?: DoorCommand_HingeSide | undefined;
    } & {
        frameName?: string | undefined;
        pushPointInFrame?: ({
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & {
            x?: number | undefined;
            y?: number | undefined;
            z?: number | undefined;
        } & { [K in Exclude<keyof I["pushPointInFrame"], keyof Vec3>]: never; }) | undefined;
        hingeSide?: DoorCommand_HingeSide | undefined;
    } & { [K_1 in Exclude<keyof I, keyof DoorCommand_AutoPushCommand>]: never; }>(object: I): DoorCommand_AutoPushCommand;
};
export declare const DoorCommand_Request: {
    encode(message: DoorCommand_Request, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DoorCommand_Request;
    fromJSON(object: any): DoorCommand_Request;
    toJSON(message: DoorCommand_Request): unknown;
    fromPartial<I extends {
        autoGraspCommand?: {
            frameName?: string | undefined;
            searchRayStartInFrame?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
            searchRayEndInFrame?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
            hingeSide?: DoorCommand_HingeSide | undefined;
            swingDirection?: DoorCommand_SwingDirection | undefined;
        } | undefined;
        warmstartCommand?: {
            hingeSide?: DoorCommand_HingeSide | undefined;
            swingDirection?: DoorCommand_SwingDirection | undefined;
            handleType?: DoorCommand_HandleType | undefined;
        } | undefined;
        autoPushCommand?: {
            frameName?: string | undefined;
            pushPointInFrame?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
            hingeSide?: DoorCommand_HingeSide | undefined;
        } | undefined;
    } & {
        autoGraspCommand?: ({
            frameName?: string | undefined;
            searchRayStartInFrame?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
            searchRayEndInFrame?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
            hingeSide?: DoorCommand_HingeSide | undefined;
            swingDirection?: DoorCommand_SwingDirection | undefined;
        } & {
            frameName?: string | undefined;
            searchRayStartInFrame?: ({
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & { [K in Exclude<keyof I["autoGraspCommand"]["searchRayStartInFrame"], keyof Vec3>]: never; }) | undefined;
            searchRayEndInFrame?: ({
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & { [K_1 in Exclude<keyof I["autoGraspCommand"]["searchRayEndInFrame"], keyof Vec3>]: never; }) | undefined;
            hingeSide?: DoorCommand_HingeSide | undefined;
            swingDirection?: DoorCommand_SwingDirection | undefined;
        } & { [K_2 in Exclude<keyof I["autoGraspCommand"], keyof DoorCommand_AutoGraspCommand>]: never; }) | undefined;
        warmstartCommand?: ({
            hingeSide?: DoorCommand_HingeSide | undefined;
            swingDirection?: DoorCommand_SwingDirection | undefined;
            handleType?: DoorCommand_HandleType | undefined;
        } & {
            hingeSide?: DoorCommand_HingeSide | undefined;
            swingDirection?: DoorCommand_SwingDirection | undefined;
            handleType?: DoorCommand_HandleType | undefined;
        } & { [K_3 in Exclude<keyof I["warmstartCommand"], keyof DoorCommand_WarmstartCommand>]: never; }) | undefined;
        autoPushCommand?: ({
            frameName?: string | undefined;
            pushPointInFrame?: {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } | undefined;
            hingeSide?: DoorCommand_HingeSide | undefined;
        } & {
            frameName?: string | undefined;
            pushPointInFrame?: ({
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & {
                x?: number | undefined;
                y?: number | undefined;
                z?: number | undefined;
            } & { [K_4 in Exclude<keyof I["autoPushCommand"]["pushPointInFrame"], keyof Vec3>]: never; }) | undefined;
            hingeSide?: DoorCommand_HingeSide | undefined;
        } & { [K_5 in Exclude<keyof I["autoPushCommand"], keyof DoorCommand_AutoPushCommand>]: never; }) | undefined;
    } & { [K_6 in Exclude<keyof I, keyof DoorCommand_Request>]: never; }>(object: I): DoorCommand_Request;
};
export declare const DoorCommand_Feedback: {
    encode(message: DoorCommand_Feedback, writer?: _m0.Writer): _m0.Writer;
    decode(input: _m0.Reader | Uint8Array, length?: number): DoorCommand_Feedback;
    fromJSON(object: any): DoorCommand_Feedback;
    toJSON(message: DoorCommand_Feedback): unknown;
    fromPartial<I extends {
        status?: DoorCommand_Feedback_Status | undefined;
    } & {
        status?: DoorCommand_Feedback_Status | undefined;
    } & { [K in Exclude<keyof I, "status">]: never; }>(object: I): DoorCommand_Feedback;
};
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=door.d.ts.map