import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";
/**
 * ColorFormat describes the encoding of the colors bytes field.
 *
 * @generated from enum draw.v1.ColorFormat
 */
export declare enum ColorFormat {
    /**
     * @generated from enum value: COLOR_FORMAT_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: COLOR_FORMAT_RGB = 1;
     */
    RGB = 1
}
/**
 * Chunks describes how a large entity is chunked for progressive delivery.
 *
 * @generated from message draw.v1.Chunks
 */
export declare class Chunks extends Message<Chunks> {
    /**
     * The number of elements per chunk.
     *
     * @generated from field: uint32 chunk_size = 1;
     */
    chunkSize: number;
    /**
     * The total number of elements across all chunks.
     *
     * @generated from field: uint32 total = 2;
     */
    total: number;
    /**
     * The number of bytes per element (e.g. 12 for float32 xyz positions).
     *
     * @generated from field: uint32 stride = 3;
     */
    stride: number;
    constructor(data?: PartialMessage<Chunks>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.Chunks";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Chunks;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Chunks;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Chunks;
    static equals(a: Chunks | PlainMessage<Chunks> | undefined, b: Chunks | PlainMessage<Chunks> | undefined): boolean;
}
/**
 * A directed link from a source entity to a target entity.
 *
 * @generated from message draw.v1.Relationship
 */
export declare class Relationship extends Message<Relationship> {
    /**
     * UUID of the target entity this relationship points to.
     *
     * @generated from field: bytes target_uuid = 1;
     */
    targetUuid: Uint8Array<ArrayBuffer>;
    /**
     * Free-form link type (e.g. "HoverLink"). Clients decide how to interpret.
     *
     * @generated from field: string type = 2;
     */
    type: string;
    /**
     * Optional filtrex expression (variable: `index`). Defaults to "index".
     *
     * @generated from field: optional string index_mapping = 3;
     */
    indexMapping?: string;
    constructor(data?: PartialMessage<Relationship>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.Relationship";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Relationship;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Relationship;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Relationship;
    static equals(a: Relationship | PlainMessage<Relationship> | undefined, b: Relationship | PlainMessage<Relationship> | undefined): boolean;
}
/**
 * @generated from message draw.v1.Metadata
 */
export declare class Metadata extends Message<Metadata> {
    /**
     * Uint8Array of color values (0-255) based on the color format.
     * Can be a single set of values for a uniform color, or an array of values for per-vertex colors.
     *
     * @generated from field: optional bytes colors = 1;
     */
    colors?: Uint8Array;
    /**
     * Describes the encoding of the colors field. Defaults to COLOR_FORMAT_RGB when set by this API.
     *
     * @generated from field: draw.v1.ColorFormat color_format = 2;
     */
    colorFormat: ColorFormat;
    /**
     * Uint8Array of opacity values (0-255) corresponding to colors.
     * Can be a single set of values for a uniform opacity, or an array of values for per-vertex opacity.
     *
     * @generated from field: optional bytes opacities = 3;
     */
    opacities?: Uint8Array;
    /**
     * Whether to show the axes helper (RGB XYZ indicator) on the entity.
     * Defaults to false.
     *
     * @generated from field: optional bool show_axes_helper = 4;
     */
    showAxesHelper?: boolean;
    /**
     * Whether the entity is invisible (not rendered) by default.
     * Defaults to false.
     *
     * @generated from field: optional bool invisible = 5;
     */
    invisible?: boolean;
    /**
     * When present, indicates this drawing uses chunked delivery.
     *
     * @generated from field: optional draw.v1.Chunks chunks = 6;
     */
    chunks?: Chunks;
    /**
     * Directed relationships from this entity to other entities.
     *
     * @generated from field: repeated draw.v1.Relationship relationships = 7;
     */
    relationships: Relationship[];
    constructor(data?: PartialMessage<Metadata>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.Metadata";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): Metadata;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): Metadata;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): Metadata;
    static equals(a: Metadata | PlainMessage<Metadata> | undefined, b: Metadata | PlainMessage<Metadata> | undefined): boolean;
}
