// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file module.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";

/**
 * @generated from enum api.ModuleCategory
 */
export enum ModuleCategory {
  /**
   * @generated from enum value: MODULE_CATEGORY_UNKNOWN = 0;
   */
  UNKNOWN = 0,

  /**
   * @generated from enum value: MODULE_CATEGORY_CONNECTORS = 1;
   */
  CONNECTORS = 1,

  /**
   * @generated from enum value: MODULE_CATEGORY_ORDERS = 2;
   */
  ORDERS = 2,
}
// Retrieve enum metadata with: proto3.getEnumType(ModuleCategory)
proto3.util.setEnumType(ModuleCategory, "api.ModuleCategory", [
  { no: 0, name: "MODULE_CATEGORY_UNKNOWN" },
  { no: 1, name: "MODULE_CATEGORY_CONNECTORS" },
  { no: 2, name: "MODULE_CATEGORY_ORDERS" },
]);

/**
 * @generated from message api.Module
 */
export class Module extends Message<Module> {
  /**
   * @generated from field: string ID = 1;
   */
  ID = "";

  /**
   * @generated from field: repeated api.Module DependsOn = 2;
   */
  DependsOn: Module[] = [];

  /**
   * @generated from field: api.ModuleCategory Category = 3;
   */
  Category = ModuleCategory.UNKNOWN;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.Module";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "DependsOn", kind: "message", T: Module, repeated: true },
    { no: 3, name: "Category", kind: "enum", T: proto3.getEnumType(ModuleCategory) },
  ]);

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListModulesRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message api.ListModulesResponse
 */
export class ListModulesResponse extends Message<ListModulesResponse> {
  /**
   * @generated from field: repeated api.Module Modules = 1;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

/**
 * @generated from message api.SetOrganisationModulesRequest
 */
export class SetOrganisationModulesRequest extends Message<SetOrganisationModulesRequest> {
  /**
   * @generated from field: string OrganisationID = 1;
   */
  OrganisationID = "";

  /**
   * @generated from field: repeated api.Module Modules = 2;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetOrganisationModulesRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "OrganisationID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetOrganisationModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message api.ListOrganisationModulesResponse
 */
export class ListOrganisationModulesResponse extends Message<ListOrganisationModulesResponse> {
  /**
   * @generated from field: repeated api.Module Modules = 1;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListOrganisationModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

/**
 * @generated from message api.SetProjectModulesRequest
 */
export class SetProjectModulesRequest extends Message<SetProjectModulesRequest> {
  /**
   * @generated from field: string ProjectID = 1;
   */
  ProjectID = "";

  /**
   * @generated from field: repeated api.Module Modules = 2;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetProjectModulesRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ProjectID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetProjectModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message api.ListProjectModulesResponse
 */
export class ListProjectModulesResponse extends Message<ListProjectModulesResponse> {
  /**
   * @generated from field: repeated api.Module Modules = 1;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListProjectModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

/**
 * @generated from message api.SetResourceModulesRequest
 */
export class SetResourceModulesRequest extends Message<SetResourceModulesRequest> {
  /**
   * @generated from field: string ResourceID = 1;
   */
  ResourceID = "";

  /**
   * @generated from field: repeated api.Module Modules = 2;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetResourceModulesRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ResourceID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.SetResourceModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

/**
 * @generated from message api.ListResourceModulesRequest
 */
export class ListResourceModulesRequest extends Message<ListResourceModulesRequest> {
  /**
   * @generated from field: string ResourceID = 1;
   */
  ResourceID = "";

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListResourceModulesRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ResourceID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

/**
 * @generated from message api.ListResourceModulesResponse
 */
export class ListResourceModulesResponse extends Message<ListResourceModulesResponse> {
  /**
   * @generated from field: repeated api.Module Modules = 1;
   */
  Modules: Module[] = [];

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ListResourceModulesResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Modules", kind: "message", T: Module, repeated: true },
  ]);

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

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

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

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

/**
 * @generated from message api.IsAPIActivatedRequest
 */
export class IsAPIActivatedRequest extends Message<IsAPIActivatedRequest> {
  /**
   * @generated from field: string ResourceID = 1;
   */
  ResourceID = "";

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

  /**
   * @generated from field: string Method = 3;
   */
  Method = "";

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.IsAPIActivatedRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ResourceID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Service", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "Method", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

/**
 * @generated from message api.IsAPIActivatedResponse
 */
export class IsAPIActivatedResponse extends Message<IsAPIActivatedResponse> {
  /**
   * @generated from field: bool Activated = 1;
   */
  Activated = false;

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.IsAPIActivatedResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Activated", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 2, name: "ExpectedModuleID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CreateModuleRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Module", kind: "message", T: Module },
  ]);

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

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.CreateModuleResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Module", kind: "message", T: Module },
  ]);

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

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

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

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

/**
 * @generated from message api.DeleteModuleRequest
 */
export class DeleteModuleRequest extends Message<DeleteModuleRequest> {
  /**
   * @generated from field: string ID = 1;
   */
  ID = "";

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.DeleteModuleRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.DeleteModuleResponse";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
  ]);

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

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

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

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

