import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Duration } from "../google/protobuf/duration"; import { ArrowPrimitive } from "./ArrowPrimitive"; import { CubePrimitive } from "./CubePrimitive"; import { CylinderPrimitive } from "./CylinderPrimitive"; import { KeyValuePair } from "./KeyValuePair"; import { LinePrimitive } from "./LinePrimitive"; import { ModelPrimitive } from "./ModelPrimitive"; import { SpherePrimitive } from "./SpherePrimitive"; import { TextPrimitive } from "./TextPrimitive"; import { TriangleListPrimitive } from "./TriangleListPrimitive"; /** A visual element in a 3D scene. An entity may be composed of multiple primitives which all share the same frame of reference. */ export interface SceneEntity { $type: "foxglove.SceneEntity"; /** Timestamp of the entity */ timestamp: Date | undefined; /** Frame of reference */ frameId: string; /** Identifier for the entity. A entity will replace any prior entity on the same topic with the same `id`. */ id: string; /** Length of time (relative to `timestamp`) after which the entity should be automatically removed. Zero value indicates the entity should remain visible until it is replaced or deleted. */ lifetime: Duration | undefined; /** Whether the entity should keep its location in the fixed frame (false) or follow the frame specified in `frame_id` as it moves relative to the fixed frame (true) */ frameLocked: boolean; /** Additional user-provided metadata associated with the entity. Keys must be unique. */ metadata: KeyValuePair[]; /** Arrow primitives */ arrows: ArrowPrimitive[]; /** Cube primitives */ cubes: CubePrimitive[]; /** Sphere primitives */ spheres: SpherePrimitive[]; /** Cylinder primitives */ cylinders: CylinderPrimitive[]; /** Line primitives */ lines: LinePrimitive[]; /** Triangle list primitives */ triangles: TriangleListPrimitive[]; /** Text primitives */ texts: TextPrimitive[]; /** Model primitives */ models: ModelPrimitive[]; } export declare const SceneEntity: MessageFns; type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; type DeepPartial = T extends Builtin ? T : T extends globalThis.Array ? globalThis.Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in Exclude]?: DeepPartial; } : Partial; type KeysOfUnion = T extends T ? keyof T : never; type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude | "$type">]: never; }; interface MessageFns { readonly $type: V; encode(message: T, writer?: BinaryWriter): BinaryWriter; decode(input: BinaryReader | Uint8Array, length?: number): T; fromJSON(object: any): T; toJSON(message: T): unknown; create, I>>(base?: I): T; fromPartial, I>>(object: I): T; } export {};