// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file trackingQuery.proto (package api, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { Message, proto3 } from "@bufbuild/protobuf";
import { EntityID, QueryProjectHeader, ResultHeader } from "./shared_pb.js";
import { Tracking } from "./tracking_pb.js";

/**
 * @generated from message api.TrackingByIdQuery
 */
export class TrackingByIdQuery extends Message<TrackingByIdQuery> {
  /**
   * @generated from field: api.QueryProjectHeader Header = 1;
   */
  Header?: QueryProjectHeader;

  /**
   * @generated from field: repeated api.EntityID IDs = 2;
   */
  IDs: EntityID[] = [];

  constructor(data?: PartialMessage<TrackingByIdQuery>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.TrackingByIdQuery";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: QueryProjectHeader },
    { no: 2, name: "IDs", kind: "message", T: EntityID, repeated: true },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TrackingByIdQuery {
    return new TrackingByIdQuery().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TrackingByIdQuery {
    return new TrackingByIdQuery().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TrackingByIdQuery {
    return new TrackingByIdQuery().fromJsonString(jsonString, options);
  }

  static equals(a: TrackingByIdQuery | PlainMessage<TrackingByIdQuery> | undefined, b: TrackingByIdQuery | PlainMessage<TrackingByIdQuery> | undefined): boolean {
    return proto3.util.equals(TrackingByIdQuery, a, b);
  }
}

/**
 * @generated from message api.TrackingByIdResult
 */
export class TrackingByIdResult extends Message<TrackingByIdResult> {
  /**
   * @generated from field: api.ResultHeader Header = 1;
   */
  Header?: ResultHeader;

  /**
   * @generated from field: repeated api.Tracking Objects = 2;
   */
  Objects: Tracking[] = [];

  constructor(data?: PartialMessage<TrackingByIdResult>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.TrackingByIdResult";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: ResultHeader },
    { no: 2, name: "Objects", kind: "message", T: Tracking, repeated: true },
  ]);

  static fromBinary(bytes: Uint8Array, options?: Partial<BinaryReadOptions>): TrackingByIdResult {
    return new TrackingByIdResult().fromBinary(bytes, options);
  }

  static fromJson(jsonValue: JsonValue, options?: Partial<JsonReadOptions>): TrackingByIdResult {
    return new TrackingByIdResult().fromJson(jsonValue, options);
  }

  static fromJsonString(jsonString: string, options?: Partial<JsonReadOptions>): TrackingByIdResult {
    return new TrackingByIdResult().fromJsonString(jsonString, options);
  }

  static equals(a: TrackingByIdResult | PlainMessage<TrackingByIdResult> | undefined, b: TrackingByIdResult | PlainMessage<TrackingByIdResult> | undefined): boolean {
    return proto3.util.equals(TrackingByIdResult, a, b);
  }
}

