import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire"; import { Color } from "./Color"; import { Pose } from "./Pose"; import { Vector3 } from "./Vector3"; /** A primitive representing a 3D model file loaded from an external URL or embedded data */ export interface ModelPrimitive { $type: "foxglove.ModelPrimitive"; /** Origin of model relative to reference frame */ pose: Pose | undefined; /** Scale factor to apply to the model along each axis */ scale: Vector3 | undefined; /** Solid color to use for the whole model if `override_color` is true. */ color: Color | undefined; /** Whether to use the color specified in `color` instead of any materials embedded in the original model. */ overrideColor: boolean; /** URL pointing to model file. One of `url` or `data` should be provided. */ url: string; /** [Media type](https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/MIME_types) of embedded model (e.g. `model/gltf-binary`). Required if `data` is provided instead of `url`. Overrides the inferred media type if `url` is provided. */ mediaType: string; /** Embedded model. One of `url` or `data` should be provided. If `data` is provided, `media_type` must be set to indicate the type of the data. */ data: Uint8Array; } export declare const ModelPrimitive: 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 {};