import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";
import { Transform } from "../../common/v1/common_pb";
import { Drawing } from "./drawing_pb";
import { SceneMetadata } from "./scene_pb";
/**
 * @generated from message draw.v1.Snapshot
 */
export declare class Snapshot extends Message<Snapshot> {
    /**
     * the list of transforms and shapes in the scene to render
     *
     * @generated from field: repeated viam.common.v1.Transform transforms = 1;
     */
    transforms: Transform[];
    /**
     * the list of drawings in the scene to render
     *
     * @generated from field: repeated draw.v1.Drawing drawings = 2;
     */
    drawings: Drawing[];
    /**
     * a unique ID for the snapshot, to inform the visualizer if a new snapshot is being rendered
     *
     * @generated from field: bytes uuid = 3;
     */
    uuid: Uint8Array<ArrayBuffer>;
    /**
     * optional metadata for the scene, matches the visualizer's "settings"
     *
     * @generated from field: optional draw.v1.SceneMetadata scene_metadata = 4;
     */
    sceneMetadata?: SceneMetadata;
    constructor(data?: PartialMessage<Snapshot>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.Snapshot";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Snapshot;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Snapshot;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Snapshot;
    static equals(a: Snapshot | PlainMessage<Snapshot> | undefined, b: Snapshot | PlainMessage<Snapshot> | undefined): boolean;
}
