import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "bosdyn.api"; /** Two dimensional vector primitive. */ export interface Vec2 { x: number; y: number; } /** Three dimensional vector primitive. */ export interface Vec3 { x: number; y: number; z: number; } /** * Cylindrical coordinates are a generalization of polar coordiates, adding a * height * axis. See (http://mathworld.wolfram.com/CylindricalCoordinates.html) for * more details. */ export interface CylindricalCoordinate { /** Radial coordinate */ r: number; /** Azimuthal coordinate */ theta: number; /** Vertical coordiante */ z: number; } /** Quaternion primitive. A quaternion can be used to describe the rotation. */ export interface Quaternion { x: number; y: number; z: number; w: number; } /** Plane primitive, described with a point and normal. */ export interface Plane { /** A point on the plane. */ point: Vec3 | undefined; /** The direction of the planes normal. */ normal: Vec3 | undefined; } /** A square oriented in 3D space. */ export interface Quad { /** * The center of the quad and the orientation of the normal. * The normal axis is [0, 0, 1]. */ pose: SE3Pose | undefined; /** The side length of the quad. */ size: number; } /** A ray in 3D space. */ export interface Ray { /** Base of ray. */ origin: Vec3 | undefined; /** Unit vector defining the direction of the ray. */ direction: Vec3 | undefined; } /** Geometric primitive to describe 2D position and rotation. */ export interface SE2Pose { /** (m) */ position: Vec2 | undefined; /** (rad) */ angle: number; } /** Geometric primitive that describes a 2D velocity through it's linear and angular components. */ export interface SE2Velocity { /** (m/s) */ linear: Vec2 | undefined; /** (rad/s) */ angular: number; } /** Geometric primitive to couple minimum and maximum SE2Velocities in a single message. */ export interface SE2VelocityLimit { /** If set, limits the maximum velocity. */ maxVel: SE2Velocity | undefined; /** If set, limits the minimum velocity. */ minVel: SE2Velocity | undefined; } /** Geometric primitive to describe 3D position and rotation. */ export interface SE3Pose { /** (m) */ position: Vec3 | undefined; rotation: Quaternion | undefined; } /** Geometric primitive that describes a 3D velocity through it's linear and angular components. */ export interface SE3Velocity { /** (m/s) */ linear: Vec3 | undefined; /** (rad/s) */ angular: Vec3 | undefined; } /** Geometric primitive used to specify forces and torques. */ export interface Wrench { /** (N) */ force: Vec3 | undefined; /** (Nm) */ torque: Vec3 | undefined; } /** * A frame is a named location in space. \ * For example, the following frames are defined by the API: \ * - "body": A frame centered on the robot's body. \ * - "vision": A non-moving (inertial) frame that is the robot's best * estimate of a fixed location in the world. It is based on * both dead reckoning and visual analysis of the world. \ * - "odom": A non-moving (inertial) frame that is based on the kinematic * odometry of the robot only. \ * Additional frames are available for robot joints, sensors, and items * detected in the world. \ * * The FrameTreeSnapshot represents the relationships between the frames that the robot * knows about at a particular point in time. For example, with the FrameTreeSnapshot, * an API client can determine where the "body" is relative to the "vision". \ * * To reduce data bandwidth, the FrameTreeSnapshot will typically contain * a small subset of all known frames. By default, all services MUST * include "vision", "body", and "odom" frames in the FrameTreeSnapshot, but * additional frames can also be included. For example, an Image service * would likely include the frame located at the base of the camera lens * where the picture was taken. \ * * Frame relationships are expressed as edges between "parent" frames and * "child" frames, with an SE3Pose indicating the pose of the "child" frame * expressed in the "child" frame. These edges are included in the edge_map * field. For example, if frame "hand" is 1m in front of the frame "shoulder", * then the FrameTreeSnapshot might contain: \ * edge_map { \ * key: "hand" \ * value: { \ * parent_frame_name: "shoulder" \ * parent_tform_child: { \ * position: { \ * x: 1.0 \ * y: 0.0 \ * z: 0.0 \ * } \ * } \ * } \ * } \ * * Frame relationships can be inverted. So, to find where the "shoulder" * is in relationship the "hand", the parent_tform_child pose in the edge * above can be inverted: \ * hand_tform_shoulder = shoulder_tform_hand.inverse() \ * Frame relationships can also be concatenated. If there is an additional * edge specifying the pose of the "shoulder" relative to the "body", then * to find where the "hand" is relative to the "body" do: \ * body_tform_hand = body_tform_shoulder * shoulder_tform_hand \ * * The two properties above reduce data size. Instead of having to send N^2 * edge_map entries to represent all relationships between N frames, * only N edge_map entries need to be sent. Clients will need to determine * the chain of edges to follow to get from one frame to another frame, * and then do inversion and concatentation to generate the appropriate pose. \ * * Note that all FrameTreeSnapshots are expected to be a single rooted tree. * The syntax for FrameTreeSnapshot could also support graphs with * cycles, or forests of trees - but clients should treat those as invalid * representations. \ */ export interface FrameTreeSnapshot { /** * child_to_parent_edge_map maps the child frame name to the ParentEdge. * In aggregate, this forms the tree structure. */ childToParentEdgeMap: { [key: string]: FrameTreeSnapshot_ParentEdge; }; } /** ParentEdge represents the relationship from a child frame to a parent frame. */ export interface FrameTreeSnapshot_ParentEdge { /** * The name of the parent frame. If a frame has no parent (parent_frame_name is empty), * it is the root of the tree. */ parentFrameName: string; /** Transform representing the pose of the child frame in the parent's frame. */ parentTformChild: SE3Pose | undefined; } export interface FrameTreeSnapshot_ChildToParentEdgeMapEntry { key: string; value: FrameTreeSnapshot_ParentEdge | undefined; } /** Geometric primitive describing a two-dimensional box. */ export interface Box2 { size: Vec2 | undefined; } /** Geometric primitive to describe a 2D box in a specific frame. */ export interface Box2WithFrame { /** * The box is specified with width (y) and length (x), and the full box is * fixed at an origin, where it's sides are along the coordinate frame's * axes. */ box: Box2 | undefined; /** The pose of the axis-aligned box is in 'frame_name'. */ frameName: string; /** * The transformation of the axis-aligned box into the desired frame * (specified above). */ frameNameTformBox: SE3Pose | undefined; } /** Geometric primitive describing a three-dimensional box. */ export interface Box3 { size: Vec3 | undefined; } /** Geometric primitive to describe a 3D box in a specific frame. */ export interface Box3WithFrame { /** * The box width (y), length (x), and height (z) are interpreted in, and the * full box is fixed at an origin, where it's sides are along the coordinate * frame's axes. */ box: Box3 | undefined; /** The pose of the axis-aligned box is in 'frame_name'. */ frameName: string; /** * The transformation of the axis-aligned box into the desired frame * (specified above). */ frameNameTformBox: SE3Pose | undefined; } /** Represents a row-major order matrix of doubles. */ export interface Matrix { rows: number; cols: number; values: number[]; } /** * Represents the translation/rotation covariance of an SE3 Pose. * The 6x6 matrix can be viewed as the covariance among 6 variables: \ * rx ry rz x y z \ * rx rxrx rxry rxrz rxx rxy rxz \ * ry ryrx ryry ryrz ryx ryy ryz \ * rz rzrx rzry rzrz rzx rzy rzz \ * x xrx xry xrz xx xy xz \ * y yrx yry yrz yx yy yz \ * z zrx zry zrz zx zy zz \ * where x, y, z are translations in meters, and rx, ry, rz are rotations around * the x, y and z axes in radians. \ * The matrix is symmetric, so, for example, xy = yx. \ */ export interface SE3Covariance { /** Row-major order representation of the covariance matrix. */ matrix: Matrix | undefined; /** * Variance of the yaw component of the SE3 Pose. * Warning: deprecated in 2.1. This should equal cov_rzrz, inside `matrix`. * * @deprecated */ yawVariance: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covXx: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covXy: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covXz: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covYx: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covYy: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covYz: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covZx: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covZy: number; /** * Warning: deprecated in 2.1. Use 'matrix.' * * @deprecated */ covZz: number; } /** Multi-part, 1D line segments defined by a series of points. */ export interface PolyLine { points: Vec2[]; } /** * Polygon in the XY plane. * May be concave, but should not self-intersect. Vertices can be specified in either * clockwise or counterclockwise orders. */ export interface Polygon { vertexes: Vec2[]; } /** * Represents a region in the XY plane that consists of a single polygon * from which polygons representing exclusion areas may be subtracted. * * A point is considered to be inside the region if it is inside the inclusion * polygon and not inside any of the exclusion polygons. * * Note that while this can be used to represent a polygon with holes, that * exclusions are not necessarily holes: An exclusion polygon may not be * completely inside the inclusion polygon. */ export interface PolygonWithExclusions { inclusion: Polygon | undefined; exclusions: Polygon[]; } /** Represents a circular 2D area. */ export interface Circle { centerPt: Vec2 | undefined; /** Dimensions in m from center_pt. */ radius: number; } /** Represents an area in the XY plane. */ export interface Area { polygon: Polygon | undefined; circle: Circle | undefined; } /** Represents a volume of space in an unspecified frame. */ export interface Volume { /** Dimensions in m, centered on frame origin. */ box: Vec3 | undefined; } /** * Represents bounds on a value, such that lower < value < upper. * If you do not want to specify one side of the bound, set it to * an appropriately large (or small) number. */ export interface Bounds { lower: number; upper: number; } /** A 2D vector of doubles that uses wrapped values so we can tell which elements are set. */ export interface Vec2Value { x: number | undefined; y: number | undefined; } /** A 3D vector of doubles that uses wrapped values so we can tell which elements are set. */ export interface Vec3Value { x: number | undefined; y: number | undefined; z: number | undefined; } export declare const Vec2: { encode(message: Vec2, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Vec2; fromJSON(object: any): Vec2; toJSON(message: Vec2): unknown; fromPartial]: never; }>(object: I): Vec2; }; export declare const Vec3: { encode(message: Vec3, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Vec3; fromJSON(object: any): Vec3; toJSON(message: Vec3): unknown; fromPartial]: never; }>(object: I): Vec3; }; export declare const CylindricalCoordinate: { encode(message: CylindricalCoordinate, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): CylindricalCoordinate; fromJSON(object: any): CylindricalCoordinate; toJSON(message: CylindricalCoordinate): unknown; fromPartial]: never; }>(object: I): CylindricalCoordinate; }; export declare const Quaternion: { encode(message: Quaternion, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Quaternion; fromJSON(object: any): Quaternion; toJSON(message: Quaternion): unknown; fromPartial]: never; }>(object: I): Quaternion; }; export declare const Plane: { encode(message: Plane, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Plane; fromJSON(object: any): Plane; toJSON(message: Plane): unknown; fromPartial]: never; }) | undefined; normal?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Plane; }; export declare const Quad: { encode(message: Quad, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Quad; fromJSON(object: any): Quad; toJSON(message: Quad): unknown; fromPartial]: 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]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; size?: number | undefined; } & { [K_3 in Exclude]: never; }>(object: I): Quad; }; export declare const Ray: { encode(message: Ray, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Ray; fromJSON(object: any): Ray; toJSON(message: Ray): unknown; fromPartial]: never; }) | undefined; direction?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Ray; }; export declare const SE2Pose: { encode(message: SE2Pose, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SE2Pose; fromJSON(object: any): SE2Pose; toJSON(message: SE2Pose): unknown; fromPartial]: never; }) | undefined; angle?: number | undefined; } & { [K_1 in Exclude]: never; }>(object: I): SE2Pose; }; export declare const SE2Velocity: { encode(message: SE2Velocity, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SE2Velocity; fromJSON(object: any): SE2Velocity; toJSON(message: SE2Velocity): unknown; fromPartial]: never; }) | undefined; angular?: number | undefined; } & { [K_1 in Exclude]: never; }>(object: I): SE2Velocity; }; export declare const SE2VelocityLimit: { encode(message: SE2VelocityLimit, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SE2VelocityLimit; fromJSON(object: any): SE2VelocityLimit; toJSON(message: SE2VelocityLimit): unknown; fromPartial]: never; }) | undefined; angular?: number | undefined; } & { [K_1 in Exclude]: 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]: never; }) | undefined; angular?: number | undefined; } & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }>(object: I): SE2VelocityLimit; }; export declare const SE3Pose: { encode(message: SE3Pose, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SE3Pose; fromJSON(object: any): SE3Pose; toJSON(message: SE3Pose): unknown; fromPartial]: 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]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): SE3Pose; }; export declare const SE3Velocity: { encode(message: SE3Velocity, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SE3Velocity; fromJSON(object: any): SE3Velocity; toJSON(message: SE3Velocity): unknown; fromPartial]: never; }) | undefined; angular?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): SE3Velocity; }; export declare const Wrench: { encode(message: Wrench, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Wrench; fromJSON(object: any): Wrench; toJSON(message: Wrench): unknown; fromPartial]: never; }) | undefined; torque?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Wrench; }; export declare const FrameTreeSnapshot: { encode(message: FrameTreeSnapshot, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): FrameTreeSnapshot; fromJSON(object: any): FrameTreeSnapshot; toJSON(message: FrameTreeSnapshot): unknown; fromPartial]: 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]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; }>(object: I): FrameTreeSnapshot; }; export declare const FrameTreeSnapshot_ParentEdge: { encode(message: FrameTreeSnapshot_ParentEdge, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): FrameTreeSnapshot_ParentEdge; fromJSON(object: any): FrameTreeSnapshot_ParentEdge; toJSON(message: FrameTreeSnapshot_ParentEdge): unknown; fromPartial]: 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]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }>(object: I): FrameTreeSnapshot_ParentEdge; }; export declare const FrameTreeSnapshot_ChildToParentEdgeMapEntry: { encode(message: FrameTreeSnapshot_ChildToParentEdgeMapEntry, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): FrameTreeSnapshot_ChildToParentEdgeMapEntry; fromJSON(object: any): FrameTreeSnapshot_ChildToParentEdgeMapEntry; toJSON(message: FrameTreeSnapshot_ChildToParentEdgeMapEntry): unknown; fromPartial]: 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]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }>(object: I): FrameTreeSnapshot_ChildToParentEdgeMapEntry; }; export declare const Box2: { encode(message: Box2, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Box2; fromJSON(object: any): Box2; toJSON(message: Box2): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): Box2; }; export declare const Box2WithFrame: { encode(message: Box2WithFrame, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Box2WithFrame; fromJSON(object: any): Box2WithFrame; toJSON(message: Box2WithFrame): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; frameName?: string | undefined; frameNameTformBox?: ({ 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_2 in Exclude]: 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_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; }>(object: I): Box2WithFrame; }; export declare const Box3: { encode(message: Box3, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Box3; fromJSON(object: any): Box3; toJSON(message: Box3): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): Box3; }; export declare const Box3WithFrame: { encode(message: Box3WithFrame, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Box3WithFrame; fromJSON(object: any): Box3WithFrame; toJSON(message: Box3WithFrame): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; frameName?: string | undefined; frameNameTformBox?: ({ 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_2 in Exclude]: 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_3 in Exclude]: never; }) | undefined; } & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; }>(object: I): Box3WithFrame; }; export declare const Matrix: { encode(message: Matrix, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Matrix; fromJSON(object: any): Matrix; toJSON(message: Matrix): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): Matrix; }; export declare const SE3Covariance: { encode(message: SE3Covariance, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): SE3Covariance; fromJSON(object: any): SE3Covariance; toJSON(message: SE3Covariance): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }) | undefined; yawVariance?: number | undefined; covXx?: number | undefined; covXy?: number | undefined; covXz?: number | undefined; covYx?: number | undefined; covYy?: number | undefined; covYz?: number | undefined; covZx?: number | undefined; covZy?: number | undefined; covZz?: number | undefined; } & { [K_2 in Exclude]: never; }>(object: I): SE3Covariance; }; export declare const PolyLine: { encode(message: PolyLine, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PolyLine; fromJSON(object: any): PolyLine; toJSON(message: PolyLine): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): PolyLine; }; export declare const Polygon: { encode(message: Polygon, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Polygon; fromJSON(object: any): Polygon; toJSON(message: Polygon): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Polygon; }; export declare const PolygonWithExclusions: { encode(message: PolygonWithExclusions, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): PolygonWithExclusions; fromJSON(object: any): PolygonWithExclusions; toJSON(message: PolygonWithExclusions): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; exclusions?: ({ vertexes?: { x?: number | undefined; y?: number | undefined; }[] | undefined; }[] & ({ vertexes?: { x?: number | undefined; y?: number | undefined; }[] | undefined; } & { vertexes?: ({ x?: number | undefined; y?: number | undefined; }[] & ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_3 in Exclude]: never; })[] & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; })[] & { [K_6 in Exclude]: never; }) | undefined; } & { [K_7 in Exclude]: never; }>(object: I): PolygonWithExclusions; }; export declare const Circle: { encode(message: Circle, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Circle; fromJSON(object: any): Circle; toJSON(message: Circle): unknown; fromPartial]: never; }) | undefined; radius?: number | undefined; } & { [K_1 in Exclude]: never; }>(object: I): Circle; }; export declare const Area: { encode(message: Area, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Area; fromJSON(object: any): Area; toJSON(message: Area): unknown; fromPartial]: never; })[] & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }) | undefined; circle?: ({ centerPt?: { x?: number | undefined; y?: number | undefined; } | undefined; radius?: number | undefined; } & { centerPt?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_3 in Exclude]: never; }) | undefined; radius?: number | undefined; } & { [K_4 in Exclude]: never; }) | undefined; } & { [K_5 in Exclude]: never; }>(object: I): Area; }; export declare const Volume: { encode(message: Volume, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Volume; fromJSON(object: any): Volume; toJSON(message: Volume): unknown; fromPartial]: never; }) | undefined; } & { [K_1 in Exclude]: never; }>(object: I): Volume; }; export declare const Bounds: { encode(message: Bounds, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Bounds; fromJSON(object: any): Bounds; toJSON(message: Bounds): unknown; fromPartial]: never; }>(object: I): Bounds; }; export declare const Vec2Value: { encode(message: Vec2Value, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Vec2Value; fromJSON(object: any): Vec2Value; toJSON(message: Vec2Value): unknown; fromPartial]: never; }>(object: I): Vec2Value; }; export declare const Vec3Value: { encode(message: Vec3Value, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Vec3Value; fromJSON(object: any): Vec3Value; toJSON(message: Vec3Value): unknown; fromPartial]: never; }>(object: I): Vec3Value; }; declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export {}; //# sourceMappingURL=geometry.d.ts.map