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

import type { BinaryReadOptions, FieldList, JsonReadOptions, JsonValue, PartialMessage, PlainMessage } from "@bufbuild/protobuf";
import { Message, proto3, protoInt64 } from "@bufbuild/protobuf";
import { Cursor } from "../../../types/v1/cursor_pb";
import { ReleaseChannel } from "../../../types/v1/release_channel_pb";
import { Version } from "../../../types/v1/version_pb";
import { VersionArtifact } from "../../../types/v1/version_artifact_pb";

/**
 * @generated from message svc.release.v1.CreateReleaseChannelRequest
 */
export class CreateReleaseChannelRequest extends Message<CreateReleaseChannelRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: string channel_name = 2;
   */
  channelName = "";

  /**
   * @generated from field: int32 channel_priority = 3;
   */
  channelPriority = 0;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.CreateReleaseChannelRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "channel_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "channel_priority", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.CreateReleaseChannelResponse
 */
export class CreateReleaseChannelResponse extends Message<CreateReleaseChannelResponse> {
  constructor(data?: PartialMessage<CreateReleaseChannelResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.CreateReleaseChannelResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.ListReleaseChannelRequest
 */
export class ListReleaseChannelRequest extends Message<ListReleaseChannelRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: types.v1.Cursor cursor = 2;
   */
  cursor?: Cursor;

  /**
   * @generated from field: int64 limit = 3;
   */
  limit = protoInt64.zero;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.ListReleaseChannelRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "cursor", kind: "message", T: Cursor },
    { no: 3, name: "limit", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.ListReleaseChannelResponse
 */
export class ListReleaseChannelResponse extends Message<ListReleaseChannelResponse> {
  /**
   * @generated from field: types.v1.Cursor next = 1;
   */
  next?: Cursor;

  /**
   * @generated from field: repeated svc.release.v1.ListReleaseChannelResponse.ListItem items = 2;
   */
  items: ListReleaseChannelResponse_ListItem[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.ListReleaseChannelResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "next", kind: "message", T: Cursor },
    { no: 2, name: "items", kind: "message", T: ListReleaseChannelResponse_ListItem, repeated: true },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.ListReleaseChannelResponse.ListItem
 */
export class ListReleaseChannelResponse_ListItem extends Message<ListReleaseChannelResponse_ListItem> {
  /**
   * @generated from field: types.v1.ReleaseChannel release_channel = 1;
   */
  releaseChannel?: ReleaseChannel;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.ListReleaseChannelResponse.ListItem";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "release_channel", kind: "message", T: ReleaseChannel },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.PublishVersionRequest
 */
export class PublishVersionRequest extends Message<PublishVersionRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: string release_channel_name = 2;
   */
  releaseChannelName = "";

  /**
   * @generated from field: types.v1.Version version = 3;
   */
  version?: Version;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.PublishVersionRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "release_channel_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "version", kind: "message", T: Version },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.PublishVersionResponse
 */
export class PublishVersionResponse extends Message<PublishVersionResponse> {
  constructor(data?: PartialMessage<PublishVersionResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.PublishVersionResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.UnpublishVersionRequest
 */
export class UnpublishVersionRequest extends Message<UnpublishVersionRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: string release_channel_name = 2;
   */
  releaseChannelName = "";

  /**
   * @generated from field: types.v1.Version version = 3;
   */
  version?: Version;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.UnpublishVersionRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "release_channel_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "version", kind: "message", T: Version },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.UnpublishVersionResponse
 */
export class UnpublishVersionResponse extends Message<UnpublishVersionResponse> {
  constructor(data?: PartialMessage<UnpublishVersionResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.UnpublishVersionResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.CreateVersionArtifactRequest
 */
export class CreateVersionArtifactRequest extends Message<CreateVersionArtifactRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: types.v1.Version version = 2;
   */
  version?: Version;

  /**
   * @generated from field: types.v1.VersionArtifact artifact = 3;
   */
  artifact?: VersionArtifact;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.CreateVersionArtifactRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "version", kind: "message", T: Version },
    { no: 3, name: "artifact", kind: "message", T: VersionArtifact },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.CreateVersionArtifactResponse
 */
export class CreateVersionArtifactResponse extends Message<CreateVersionArtifactResponse> {
  constructor(data?: PartialMessage<CreateVersionArtifactResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.CreateVersionArtifactResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.DeleteVersionArtifactRequest
 */
export class DeleteVersionArtifactRequest extends Message<DeleteVersionArtifactRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: types.v1.Version version = 2;
   */
  version?: Version;

  /**
   * @generated from field: types.v1.VersionArtifact artifact = 3;
   */
  artifact?: VersionArtifact;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.DeleteVersionArtifactRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "version", kind: "message", T: Version },
    { no: 3, name: "artifact", kind: "message", T: VersionArtifact },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.DeleteVersionArtifactResponse
 */
export class DeleteVersionArtifactResponse extends Message<DeleteVersionArtifactResponse> {
  constructor(data?: PartialMessage<DeleteVersionArtifactResponse>) {
    super();
    proto3.util.initPartial(data, this);
  }

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.DeleteVersionArtifactResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.ListVersionArtifactRequest
 */
export class ListVersionArtifactRequest extends Message<ListVersionArtifactRequest> {
  /**
   * @generated from field: string project_name = 1;
   */
  projectName = "";

  /**
   * @generated from field: types.v1.Cursor cursor = 2;
   */
  cursor?: Cursor;

  /**
   * @generated from field: int64 limit = 3;
   */
  limit = protoInt64.zero;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.ListVersionArtifactRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "project_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "cursor", kind: "message", T: Cursor },
    { no: 3, name: "limit", kind: "scalar", T: 3 /* ScalarType.INT64 */ },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.ListVersionArtifactResponse
 */
export class ListVersionArtifactResponse extends Message<ListVersionArtifactResponse> {
  /**
   * @generated from field: types.v1.Cursor next = 1;
   */
  next?: Cursor;

  /**
   * @generated from field: repeated svc.release.v1.ListVersionArtifactResponse.ListItem items = 2;
   */
  items: ListVersionArtifactResponse_ListItem[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.ListVersionArtifactResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "next", kind: "message", T: Cursor },
    { no: 2, name: "items", kind: "message", T: ListVersionArtifactResponse_ListItem, repeated: true },
  ]);

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

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

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

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

/**
 * @generated from message svc.release.v1.ListVersionArtifactResponse.ListItem
 */
export class ListVersionArtifactResponse_ListItem extends Message<ListVersionArtifactResponse_ListItem> {
  /**
   * @generated from field: types.v1.Version version = 1;
   */
  version?: Version;

  /**
   * @generated from field: repeated types.v1.VersionArtifact artifacts = 2;
   */
  artifacts: VersionArtifact[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "svc.release.v1.ListVersionArtifactResponse.ListItem";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "version", kind: "message", T: Version },
    { no: 2, name: "artifacts", kind: "message", T: VersionArtifact, repeated: true },
  ]);

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

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

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

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

