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

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

  /**
   * @generated from field: bool IsMetadata = 2;
   */
  IsMetadata = false;

  /**
   * string Type = 3;
   *
   * @generated from field: string Path = 4;
   */
  Path = "";

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

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

  /**
   * @generated from field: string KeyValue = 7;
   */
  KeyValue = "";

  /**
   * The segmentation keys are used to complete the segmentation criteria of the project stock. They also apply to order lines and stock movements
   *
   * @generated from field: bool IsSegmentationKey = 8;
   */
  IsSegmentationKey = false;

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

  /**
   * @generated from field: repeated string EnumList = 10;
   */
  EnumList: string[] = [];

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

  /**
   * @generated from field: repeated string KpiMetricGroups = 12;
   */
  KpiMetricGroups: string[] = [];

  /**
   * @generated from field: repeated string KpiDimensionGroups = 13;
   */
  KpiDimensionGroups: string[] = [];

  /**
   * @generated from field: repeated string KpiDateGroups = 14;
   */
  KpiDateGroups: string[] = [];

  /**
   * @generated from field: string KpiName = 15;
   */
  KpiName = "";

  /**
   * @generated from field: repeated string QueryableKpiGroups = 16;
   */
  QueryableKpiGroups: string[] = [];

  /**
   * @generated from field: string Entity = 17;
   */
  Entity = "";

  /**
   * @generated from field: string EntityPath = 18;
   */
  EntityPath = "";

  /**
   * @generated from field: string EntityPathKey = 19;
   */
  EntityPathKey = "";

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.FieldView";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "IsMetadata", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 4, name: "Path", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "DisplayPath", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 6, name: "PathKey", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 7, name: "KeyValue", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 8, name: "IsSegmentationKey", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 9, name: "EnumValues", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 10, name: "EnumList", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 11, name: "ContentType", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 12, name: "KpiMetricGroups", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 13, name: "KpiDimensionGroups", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 14, name: "KpiDateGroups", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 15, name: "KpiName", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 16, name: "QueryableKpiGroups", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 17, name: "Entity", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 18, name: "EntityPath", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 19, name: "EntityPathKey", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

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

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

  /**
   * Entity where the metadata will be created. It can be \"executionflow\", \"handlingunit\", \"item\", \"order\", \"stock\"
   *
   * @generated from field: string Entity = 3;
   */
  Entity = "";

  /**
   * Fields that are not used in this entity
   *
   * @generated from field: repeated string OmmittedList = 4;
   */
  OmmittedList: string[] = [];

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

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

  /**
   * @generated from field: string KpiGroupFilter = 7;
   */
  KpiGroupFilter = "";

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.GetViewFieldsRequest";
  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: "Entity", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "OmmittedList", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 5, name: "StartingPath", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 6, name: "OnlySegmentationKeys", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 7, name: "KpiGroupFilter", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ]);

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

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

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

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

/**
 * @generated from message api.GetViewFieldsResult
 */
export class GetViewFieldsResult extends Message<GetViewFieldsResult> {
  /**
   * @generated from field: repeated api.FieldView Fields = 1;
   */
  Fields: FieldView[] = [];

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

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

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

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

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

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

