import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { FieldMask, Message, proto3 } from "@bufbuild/protobuf";
import { Transform } from "../../common/v1/common_pb";
import { Drawing } from "./drawing_pb";
import { SceneMetadata } from "./scene_pb";
/**
 * @generated from enum draw.v1.EntityChangeType
 */
export declare enum EntityChangeType {
    /**
     * @generated from enum value: ENTITY_CHANGE_TYPE_UNSPECIFIED = 0;
     */
    UNSPECIFIED = 0,
    /**
     * @generated from enum value: ENTITY_CHANGE_TYPE_ADDED = 1;
     */
    ADDED = 1,
    /**
     * @generated from enum value: ENTITY_CHANGE_TYPE_REMOVED = 2;
     */
    REMOVED = 2,
    /**
     * @generated from enum value: ENTITY_CHANGE_TYPE_UPDATED = 3;
     */
    UPDATED = 3
}
/**
 * @generated from message draw.v1.AddEntityRequest
 */
export declare class AddEntityRequest extends Message<AddEntityRequest> {
    /**
     * @generated from oneof draw.v1.AddEntityRequest.entity
     */
    entity: {
        /**
         * @generated from field: viam.common.v1.Transform transform = 1;
         */
        value: Transform;
        case: "transform";
    } | {
        /**
         * @generated from field: draw.v1.Drawing drawing = 2;
         */
        value: Drawing;
        case: "drawing";
    } | {
        case: undefined;
        value?: undefined;
    };
    constructor(data?: PartialMessage<AddEntityRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.AddEntityRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AddEntityRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AddEntityRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AddEntityRequest;
    static equals(a: AddEntityRequest | PlainMessage<AddEntityRequest> | undefined, b: AddEntityRequest | PlainMessage<AddEntityRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.AddEntityResponse
 */
export declare class AddEntityResponse extends Message<AddEntityResponse> {
    /**
     * @generated from field: bytes uuid = 1;
     */
    uuid: Uint8Array<ArrayBuffer>;
    constructor(data?: PartialMessage<AddEntityResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.AddEntityResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): AddEntityResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): AddEntityResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): AddEntityResponse;
    static equals(a: AddEntityResponse | PlainMessage<AddEntityResponse> | undefined, b: AddEntityResponse | PlainMessage<AddEntityResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.UpdateEntityRequest
 */
export declare class UpdateEntityRequest extends Message<UpdateEntityRequest> {
    /**
     * @generated from field: bytes uuid = 1;
     */
    uuid: Uint8Array<ArrayBuffer>;
    /**
     * @generated from oneof draw.v1.UpdateEntityRequest.entity
     */
    entity: {
        /**
         * @generated from field: viam.common.v1.Transform transform = 2;
         */
        value: Transform;
        case: "transform";
    } | {
        /**
         * @generated from field: draw.v1.Drawing drawing = 3;
         */
        value: Drawing;
        case: "drawing";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * The fields to update on the entity. If empty, all fields are replaced.
     *
     * @generated from field: google.protobuf.FieldMask updated_fields = 4;
     */
    updatedFields?: FieldMask;
    constructor(data?: PartialMessage<UpdateEntityRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.UpdateEntityRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): UpdateEntityRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): UpdateEntityRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateEntityRequest;
    static equals(a: UpdateEntityRequest | PlainMessage<UpdateEntityRequest> | undefined, b: UpdateEntityRequest | PlainMessage<UpdateEntityRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.UpdateEntityResponse
 */
export declare class UpdateEntityResponse extends Message<UpdateEntityResponse> {
    constructor(data?: PartialMessage<UpdateEntityResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.UpdateEntityResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): UpdateEntityResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): UpdateEntityResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): UpdateEntityResponse;
    static equals(a: UpdateEntityResponse | PlainMessage<UpdateEntityResponse> | undefined, b: UpdateEntityResponse | PlainMessage<UpdateEntityResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveEntityRequest
 */
export declare class RemoveEntityRequest extends Message<RemoveEntityRequest> {
    /**
     * @generated from field: bytes uuid = 1;
     */
    uuid: Uint8Array<ArrayBuffer>;
    constructor(data?: PartialMessage<RemoveEntityRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveEntityRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveEntityRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveEntityRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveEntityRequest;
    static equals(a: RemoveEntityRequest | PlainMessage<RemoveEntityRequest> | undefined, b: RemoveEntityRequest | PlainMessage<RemoveEntityRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveEntityResponse
 */
export declare class RemoveEntityResponse extends Message<RemoveEntityResponse> {
    constructor(data?: PartialMessage<RemoveEntityResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveEntityResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveEntityResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveEntityResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveEntityResponse;
    static equals(a: RemoveEntityResponse | PlainMessage<RemoveEntityResponse> | undefined, b: RemoveEntityResponse | PlainMessage<RemoveEntityResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveAllTransformsRequest
 */
export declare class RemoveAllTransformsRequest extends Message<RemoveAllTransformsRequest> {
    constructor(data?: PartialMessage<RemoveAllTransformsRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveAllTransformsRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveAllTransformsRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveAllTransformsRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveAllTransformsRequest;
    static equals(a: RemoveAllTransformsRequest | PlainMessage<RemoveAllTransformsRequest> | undefined, b: RemoveAllTransformsRequest | PlainMessage<RemoveAllTransformsRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveAllTransformsResponse
 */
export declare class RemoveAllTransformsResponse extends Message<RemoveAllTransformsResponse> {
    /**
     * @generated from field: int32 count = 1;
     */
    count: number;
    constructor(data?: PartialMessage<RemoveAllTransformsResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveAllTransformsResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveAllTransformsResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveAllTransformsResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveAllTransformsResponse;
    static equals(a: RemoveAllTransformsResponse | PlainMessage<RemoveAllTransformsResponse> | undefined, b: RemoveAllTransformsResponse | PlainMessage<RemoveAllTransformsResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.StreamEntityChangesRequest
 */
export declare class StreamEntityChangesRequest extends Message<StreamEntityChangesRequest> {
    constructor(data?: PartialMessage<StreamEntityChangesRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.StreamEntityChangesRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): StreamEntityChangesRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): StreamEntityChangesRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): StreamEntityChangesRequest;
    static equals(a: StreamEntityChangesRequest | PlainMessage<StreamEntityChangesRequest> | undefined, b: StreamEntityChangesRequest | PlainMessage<StreamEntityChangesRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.StreamEntityChangesResponse
 */
export declare class StreamEntityChangesResponse extends Message<StreamEntityChangesResponse> {
    /**
     * @generated from field: draw.v1.EntityChangeType change_type = 1;
     */
    changeType: EntityChangeType;
    /**
     * @generated from oneof draw.v1.StreamEntityChangesResponse.entity
     */
    entity: {
        /**
         * @generated from field: viam.common.v1.Transform transform = 2;
         */
        value: Transform;
        case: "transform";
    } | {
        /**
         * @generated from field: draw.v1.Drawing drawing = 3;
         */
        value: Drawing;
        case: "drawing";
    } | {
        case: undefined;
        value?: undefined;
    };
    /**
     * @generated from field: google.protobuf.FieldMask updated_fields = 4;
     */
    updatedFields?: FieldMask;
    constructor(data?: PartialMessage<StreamEntityChangesResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.StreamEntityChangesResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): StreamEntityChangesResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): StreamEntityChangesResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): StreamEntityChangesResponse;
    static equals(a: StreamEntityChangesResponse | PlainMessage<StreamEntityChangesResponse> | undefined, b: StreamEntityChangesResponse | PlainMessage<StreamEntityChangesResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveAllDrawingsRequest
 */
export declare class RemoveAllDrawingsRequest extends Message<RemoveAllDrawingsRequest> {
    constructor(data?: PartialMessage<RemoveAllDrawingsRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveAllDrawingsRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveAllDrawingsRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveAllDrawingsRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveAllDrawingsRequest;
    static equals(a: RemoveAllDrawingsRequest | PlainMessage<RemoveAllDrawingsRequest> | undefined, b: RemoveAllDrawingsRequest | PlainMessage<RemoveAllDrawingsRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveAllDrawingsResponse
 */
export declare class RemoveAllDrawingsResponse extends Message<RemoveAllDrawingsResponse> {
    /**
     * @generated from field: int32 count = 1;
     */
    count: number;
    constructor(data?: PartialMessage<RemoveAllDrawingsResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveAllDrawingsResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveAllDrawingsResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveAllDrawingsResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveAllDrawingsResponse;
    static equals(a: RemoveAllDrawingsResponse | PlainMessage<RemoveAllDrawingsResponse> | undefined, b: RemoveAllDrawingsResponse | PlainMessage<RemoveAllDrawingsResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.SetSceneRequest
 */
export declare class SetSceneRequest extends Message<SetSceneRequest> {
    /**
     * @generated from field: draw.v1.SceneMetadata scene_metadata = 1;
     */
    sceneMetadata?: SceneMetadata;
    constructor(data?: PartialMessage<SetSceneRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.SetSceneRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SetSceneRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SetSceneRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SetSceneRequest;
    static equals(a: SetSceneRequest | PlainMessage<SetSceneRequest> | undefined, b: SetSceneRequest | PlainMessage<SetSceneRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.SetSceneResponse
 */
export declare class SetSceneResponse extends Message<SetSceneResponse> {
    constructor(data?: PartialMessage<SetSceneResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.SetSceneResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): SetSceneResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): SetSceneResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): SetSceneResponse;
    static equals(a: SetSceneResponse | PlainMessage<SetSceneResponse> | undefined, b: SetSceneResponse | PlainMessage<SetSceneResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.StreamSceneChangesRequest
 */
export declare class StreamSceneChangesRequest extends Message<StreamSceneChangesRequest> {
    constructor(data?: PartialMessage<StreamSceneChangesRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.StreamSceneChangesRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): StreamSceneChangesRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): StreamSceneChangesRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): StreamSceneChangesRequest;
    static equals(a: StreamSceneChangesRequest | PlainMessage<StreamSceneChangesRequest> | undefined, b: StreamSceneChangesRequest | PlainMessage<StreamSceneChangesRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.StreamSceneChangesResponse
 */
export declare class StreamSceneChangesResponse extends Message<StreamSceneChangesResponse> {
    /**
     * @generated from field: draw.v1.SceneMetadata scene_metadata = 1;
     */
    sceneMetadata?: SceneMetadata;
    constructor(data?: PartialMessage<StreamSceneChangesResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.StreamSceneChangesResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): StreamSceneChangesResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): StreamSceneChangesResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): StreamSceneChangesResponse;
    static equals(a: StreamSceneChangesResponse | PlainMessage<StreamSceneChangesResponse> | undefined, b: StreamSceneChangesResponse | PlainMessage<StreamSceneChangesResponse> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveAllRequest
 */
export declare class RemoveAllRequest extends Message<RemoveAllRequest> {
    constructor(data?: PartialMessage<RemoveAllRequest>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveAllRequest";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveAllRequest;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveAllRequest;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveAllRequest;
    static equals(a: RemoveAllRequest | PlainMessage<RemoveAllRequest> | undefined, b: RemoveAllRequest | PlainMessage<RemoveAllRequest> | undefined): boolean;
}
/**
 * @generated from message draw.v1.RemoveAllResponse
 */
export declare class RemoveAllResponse extends Message<RemoveAllResponse> {
    /**
     * @generated from field: int32 transform_count = 1;
     */
    transformCount: number;
    /**
     * @generated from field: int32 drawing_count = 2;
     */
    drawingCount: number;
    constructor(data?: PartialMessage<RemoveAllResponse>);
    static readonly runtime: typeof proto3;
    static readonly typeName = "draw.v1.RemoveAllResponse";
    static readonly fields: FieldList;
    static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): RemoveAllResponse;
    static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): RemoveAllResponse;
    static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): RemoveAllResponse;
    static equals(a: RemoveAllResponse | PlainMessage<RemoveAllResponse> | undefined, b: RemoveAllResponse | PlainMessage<RemoveAllResponse> | undefined): boolean;
}
