// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file metadataInput.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 { MetadataDisplayType, MetadataType } from "./metadata_pb.js";
import { EntityID, EventHeader, RequestProjectHeader, ResponseHeader } from "./shared_pb.js";

/**
 * Event Payload
 *
 * @generated from message api.MetadataCreatedPayload
 */
export class MetadataCreatedPayload extends Message<MetadataCreatedPayload> {
  /**
   * 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 = 2;
   */
  IsSegmentationKey = false;

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

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

  /**
   * Where the metadata is located, either \"Payload.Metadata\" or \"Payload.Goods.SegmentationKeys\"
   *
   * @generated from field: string Parent = 5;
   */
  Parent = "";

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

  /**
   * Type attached to the metadata, can be anything such as Item, Actor, Order...
   *
   * @generated from field: string Type = 7;
   */
  Type = "";

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

  /**
   * @generated from field: string RegularExpression = 10;
   */
  RegularExpression = "";

  /**
   * @generated from field: api.MetadataType Typology = 11;
   */
  Typology = MetadataType.TYPE_UNKNOWN;

  /**
   * Customizable enumeration
   *
   * @generated from field: repeated string Enumeration = 12;
   */
  Enumeration: string[] = [];

  /**
   * @generated from field: api.MetadataDisplayType ShowOnCreation = 13;
   */
  ShowOnCreation = MetadataDisplayType.DISPLAY_UNKNOWN;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.MetadataCreatedPayload";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 2, name: "IsSegmentationKey", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 3, name: "Domain", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "Entity", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "Parent", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 6, name: "Name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 7, name: "Type", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 8, name: "IsMandatory", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 10, name: "RegularExpression", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 11, name: "Typology", kind: "enum", T: proto3.getEnumType(MetadataType) },
    { no: 12, name: "Enumeration", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 13, name: "ShowOnCreation", kind: "enum", T: proto3.getEnumType(MetadataDisplayType) },
  ]);

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

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

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

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

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

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

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

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

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

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

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

  /**
   * @generated from field: api.EntityID ID = 2;
   */
  ID?: EntityID;

  /**
   * @generated from field: api.MetadataCreatedPayload Payload = 3;
   */
  Payload?: MetadataCreatedPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.MetadataCreatedEvent";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: EventHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: MetadataCreatedPayload },
  ]);

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

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

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

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

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

  /**
   * @generated from field: api.EntityID ID = 2;
   */
  ID?: EntityID;

  /**
   * @generated from field: api.MetadataCreatedPayload Payload = 3;
   */
  Payload?: MetadataCreatedPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.MetadataCreatedRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: MetadataCreatedPayload },
  ]);

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

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

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

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

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

  /**
   * @generated from field: api.EntityID ID = 2;
   */
  ID?: EntityID;

  /**
   * @generated from field: api.MetadataDeletedPayload Payload = 3;
   */
  Payload?: MetadataDeletedPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.MetadataDeletedRequest";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: RequestProjectHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: MetadataDeletedPayload },
  ]);

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

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

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

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

/**
 * API Response
 *
 * @generated from message api.MetadataCreatedResponse
 */
export class MetadataCreatedResponse extends Message<MetadataCreatedResponse> {
  /**
   * @generated from field: api.ResponseHeader Header = 1;
   */
  Header?: ResponseHeader;

  /**
   * @generated from field: api.EntityID ID = 2;
   */
  ID?: EntityID;

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

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

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

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

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

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

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

  /**
   * @generated from field: api.EntityID ID = 2;
   */
  ID?: EntityID;

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

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

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

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

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

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

