// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file kpi.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 { ModelDataSetEnum, RequestProjectHeader } from "./shared_pb.js";

/**
 * @generated from enum api.KPIGroupProperty
 */
export enum KPIGroupProperty {
  /**
   * Type of kpi group (Sink, Materialized, View)
   *
   * @generated from enum value: KPIGROUP_TYPE = 0;
   */
  KPIGROUP_TYPE = 0,

  /**
   * Table Orderby
   *
   * @generated from enum value: KPIGROUP_ORDERBY = 1;
   */
  KPIGROUP_ORDERBY = 1,

  /**
   * Table engine
   *
   * @generated from enum value: KPIGROUP_ENGINE = 2;
   */
  KPIGROUP_ENGINE = 2,

  /**
   * Table header columns
   *
   * @generated from enum value: KPIGROUP_HEADER_COLUMNS = 3;
   */
  KPIGROUP_HEADER_COLUMNS = 3,

  /**
   * Table PartitionBy
   *
   * @generated from enum value: KPIGROUP_PARTITIONBY = 4;
   */
  KPIGROUP_PARTITIONBY = 4,
}
// Retrieve enum metadata with: proto3.getEnumType(KPIGroupProperty)
proto3.util.setEnumType(KPIGroupProperty, "api.KPIGroupProperty", [
  { no: 0, name: "KPIGROUP_TYPE" },
  { no: 1, name: "KPIGROUP_ORDERBY" },
  { no: 2, name: "KPIGROUP_ENGINE" },
  { no: 3, name: "KPIGROUP_HEADER_COLUMNS" },
  { no: 4, name: "KPIGROUP_PARTITIONBY" },
]);

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

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

  /**
   * @generated from field: string DataType = 4;
   */
  DataType = "";

  /**
   * @generated from field: string ContentType = 5;
   */
  ContentType = "";

  /**
   * @generated from field: string EnumValues = 6;
   */
  EnumValues = "";

  /**
   * @generated from field: repeated api.KpiExpression Expressions = 7;
   */
  Expressions: KpiExpression[] = [];

  /**
   * @generated from field: string FullName = 8;
   */
  FullName = "";

  /**
   * @generated from field: bool IsComputed = 9;
   */
  IsComputed = false;

  /**
   * repeated EntityCorrespondence EntityCorrespondences = 10;
   *
   * @generated from field: string GroupToJoin = 11;
   */
  GroupToJoin = "";

  /**
   * @generated from field: string ColumnType = 12;
   */
  ColumnType = "";

  /**
   * @generated from field: bool IsQueryable = 13;
   */
  IsQueryable = false;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.Kpi";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Level", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "DataType", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "ContentType", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 6, name: "EnumValues", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 7, name: "Expressions", kind: "message", T: KpiExpression, repeated: true },
    { no: 8, name: "FullName", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 9, name: "IsComputed", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 11, name: "GroupToJoin", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 12, name: "ColumnType", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 13, name: "IsQueryable", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
  ]);

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

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

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

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

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

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

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

  /**
   * @generated from field: string Query = 4;
   */
  Query = "";

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.KpiExpression";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Block", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "QueryType", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "Field", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "Query", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

  /**
   * Widget analysis criterion, executionflow for Order and stock for Stock
   *
   * @generated from field: string Group = 3;
   */
  Group = "";

  /**
   * @generated from field: bool isMetric = 4;
   */
  isMetric = false;

  /**
   * @generated from field: bool isDimension = 5;
   */
  isDimension = false;

  /**
   * @generated from field: bool isDate = 6;
   */
  isDate = false;

  /**
   * @generated from field: bool isCount = 7;
   */
  isCount = false;

  /**
   * @generated from field: bool OnlyQueryable = 8;
   */
  OnlyQueryable = false;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.GetKpisRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "Domain", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "Group", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "isMetric", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 5, name: "isDimension", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 6, name: "isDate", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 7, name: "isCount", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 8, name: "OnlyQueryable", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
  ]);

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

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

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

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

/**
 * @generated from message api.GetKpisResult
 */
export class GetKpisResult extends Message<GetKpisResult> {
  /**
   * @generated from field: repeated api.Kpi Kpis = 1;
   */
  Kpis: Kpi[] = [];

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * @generated from message api.GetKpiTableStructureResult
 */
export class GetKpiTableStructureResult extends Message<GetKpiTableStructureResult> {
  /**
   * @generated from field: repeated string Tables = 1;
   */
  Tables: string[] = [];

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/**
 * @generated from message api.GetKpiEntitiesResult
 */
export class GetKpiEntitiesResult extends Message<GetKpiEntitiesResult> {
  /**
   * @generated from field: repeated string Entities = 1;
   */
  Entities: string[] = [];

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

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

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

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

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

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

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

  /**
   * @generated from field: api.ModelDataSetEnum Entity = 2;
   */
  Entity = ModelDataSetEnum.ACTOR;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ClearKpiEntityRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "ProjectID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "Entity", kind: "enum", T: proto3.getEnumType(ModelDataSetEnum) },
  ]);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

