// @generated by protoc-gen-es v1.10.0 with parameter "target=ts"
// @generated from file executionflowAction.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 { ETA, ExecutionflowStatusStruct, ExeFlowLine, OrderRequestedMilestones, TradeTier } from "./tradeShared_pb.js";
import { AttachmentSummary, ClaimSummary, CommandHeader, DateTime, EntityID, MetadataElement } from "./shared_pb.js";
import { HandlingunitSummary } from "./warehousingShared_pb.js";

/**
 *
 * ExecutionflowMapSummaryToOrder : map the Executionflow status to the corresponding trade order entity
 *
 * @generated from message api.ExecutionflowMapSummaryToOrderPayload
 */
export class ExecutionflowMapSummaryToOrderPayload extends Message<ExecutionflowMapSummaryToOrderPayload> {
  /**
   * @generated from field: api.ExecutionflowStatusStruct Status = 1;
   */
  Status?: ExecutionflowStatusStruct;

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

  /**
   * @generated from field: api.TradeTier ShipFrom = 4;
   */
  ShipFrom?: TradeTier;

  /**
   * @generated from field: api.TradeTier ShipTo = 5;
   */
  ShipTo?: TradeTier;

  /**
   * @generated from field: api.TradeTier Carrier = 6;
   */
  Carrier?: TradeTier;

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

  /**
   * @generated from field: repeated api.AttachmentSummary Attachments = 16;
   */
  Attachments: AttachmentSummary[] = [];

  /**
   * @generated from field: int32 AttachmentNumber = 17;
   */
  AttachmentNumber = 0;

  /**
   * @generated from field: repeated api.ClaimSummary Claims = 18;
   */
  Claims: ClaimSummary[] = [];

  /**
   * @generated from field: int32 ClaimNumber = 19;
   */
  ClaimNumber = 0;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowMapSummaryToOrderPayload";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Status", kind: "message", T: ExecutionflowStatusStruct },
    { no: 2, name: "OrderID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "ShipFrom", kind: "message", T: TradeTier },
    { no: 5, name: "ShipTo", kind: "message", T: TradeTier },
    { no: 6, name: "Carrier", kind: "message", T: TradeTier },
    { no: 7, name: "CarrierService", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 16, name: "Attachments", kind: "message", T: AttachmentSummary, repeated: true },
    { no: 17, name: "AttachmentNumber", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 18, name: "Claims", kind: "message", T: ClaimSummary, repeated: true },
    { no: 19, name: "ClaimNumber", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
  ]);

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

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

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

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

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

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

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

  /**
   * @generated from field: api.ExecutionflowMapSummaryToOrderPayload EventPayload = 4;
   */
  EventPayload?: ExecutionflowMapSummaryToOrderPayload;

  /**
   * @generated from field: api.ExecutionflowMapSummaryToOrderPayload PreviousPayload = 5;
   */
  PreviousPayload?: ExecutionflowMapSummaryToOrderPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowMapSummaryToOrder";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: CommandHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: ExecutionflowMapSummaryToOrderPayload },
    { no: 4, name: "EventPayload", kind: "message", T: ExecutionflowMapSummaryToOrderPayload },
    { no: 5, name: "PreviousPayload", kind: "message", T: ExecutionflowMapSummaryToOrderPayload },
  ]);

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

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

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

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

/**
 *
 * ExecutionflowMapETAToOrder : map the Executionflow ETA to the corresponding trade order entity
 *
 * @generated from message api.ExecutionflowMapETAToOrderPayload
 */
export class ExecutionflowMapETAToOrderPayload extends Message<ExecutionflowMapETAToOrderPayload> {
  /**
   * @generated from field: api.ETA ExecutionflowETAComputed = 1;
   */
  ExecutionflowETAComputed?: ETA;

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

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

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

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

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

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

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

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

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

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

  /**
   * @generated from field: api.ExecutionflowMapETAToOrderPayload EventPayload = 4;
   */
  EventPayload?: ExecutionflowMapETAToOrderPayload;

  /**
   * @generated from field: api.ExecutionflowMapETAToOrderPayload PreviousPayload = 5;
   */
  PreviousPayload?: ExecutionflowMapETAToOrderPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowMapETAToOrder";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: CommandHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: ExecutionflowMapETAToOrderPayload },
    { no: 4, name: "EventPayload", kind: "message", T: ExecutionflowMapETAToOrderPayload },
    { no: 5, name: "PreviousPayload", kind: "message", T: ExecutionflowMapETAToOrderPayload },
  ]);

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

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

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

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

/**
 *
 * NotifyPartnerApps : Notify new exeflow to partner Apps
 *
 * @generated from message api.ExecutionflowNotifyPartnerAppsPayload
 */
export class ExecutionflowNotifyPartnerAppsPayload extends Message<ExecutionflowNotifyPartnerAppsPayload> {
  /**
   * @generated from field: api.DateTime CreationDateTime = 1;
   */
  CreationDateTime?: DateTime;

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

  /**
   * Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
   *
   * @generated from field: repeated api.MetadataElement MetaData = 3;
   */
  MetaData: MetadataElement[] = [];

  /**
   * Where to ship the order from
   *
   * @generated from field: api.TradeTier ShipFrom = 4;
   */
  ShipFrom?: TradeTier;

  /**
   * Where to ship the order to
   *
   * @generated from field: api.TradeTier ShipTo = 5;
   */
  ShipTo?: TradeTier;

  /**
   * Definition of the order carrier
   *
   * @generated from field: api.TradeTier Carrier = 6;
   */
  Carrier?: TradeTier;

  /**
   * Type of carrier service
   *
   * @generated from field: string CarrierService = 7;
   */
  CarrierService = "";

  /**
   * @generated from field: api.OrderRequestedMilestones RequestedMilestones = 8;
   */
  RequestedMilestones?: OrderRequestedMilestones;

  /**
   * @generated from field: repeated api.ExeFlowLine Lines = 9;
   */
  Lines: ExeFlowLine[] = [];

  /**
   * @generated from field: repeated api.HandlingunitSummary Handlingunits = 11;
   */
  Handlingunits: HandlingunitSummary[] = [];

  /**
   * @generated from field: api.ExecutionflowStatusStruct Status = 13;
   */
  Status?: ExecutionflowStatusStruct;

  /**
   * @generated from field: bool ShipFromAcked = 14;
   */
  ShipFromAcked = false;

  /**
   * @generated from field: bool ShipToAcked = 15;
   */
  ShipToAcked = false;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowNotifyPartnerAppsPayload";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "CreationDateTime", kind: "message", T: DateTime },
    { no: 2, name: "OrderID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "MetaData", kind: "message", T: MetadataElement, repeated: true },
    { no: 4, name: "ShipFrom", kind: "message", T: TradeTier },
    { no: 5, name: "ShipTo", kind: "message", T: TradeTier },
    { no: 6, name: "Carrier", kind: "message", T: TradeTier },
    { no: 7, name: "CarrierService", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 8, name: "RequestedMilestones", kind: "message", T: OrderRequestedMilestones },
    { no: 9, name: "Lines", kind: "message", T: ExeFlowLine, repeated: true },
    { no: 11, name: "Handlingunits", kind: "message", T: HandlingunitSummary, repeated: true },
    { no: 13, name: "Status", kind: "message", T: ExecutionflowStatusStruct },
    { no: 14, name: "ShipFromAcked", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
    { no: 15, name: "ShipToAcked", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
  ]);

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

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

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

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

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

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

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

  /**
   * @generated from field: api.ExecutionflowNotifyPartnerAppsPayload EventPayload = 4;
   */
  EventPayload?: ExecutionflowNotifyPartnerAppsPayload;

  /**
   * @generated from field: api.ExecutionflowNotifyPartnerAppsPayload PreviousPayload = 5;
   */
  PreviousPayload?: ExecutionflowNotifyPartnerAppsPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowNotifyPartnerApps";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: CommandHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: ExecutionflowNotifyPartnerAppsPayload },
    { no: 4, name: "EventPayload", kind: "message", T: ExecutionflowNotifyPartnerAppsPayload },
    { no: 5, name: "PreviousPayload", kind: "message", T: ExecutionflowNotifyPartnerAppsPayload },
  ]);

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

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

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

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

/**
 *
 * CreateDetectedOrder : Create order to give access to detected exeflow
 *
 * @generated from message api.ExecutionflowCreateDetectedOrderPayload
 */
export class ExecutionflowCreateDetectedOrderPayload extends Message<ExecutionflowCreateDetectedOrderPayload> {
  /**
   * @generated from field: api.DateTime CreationDateTime = 1;
   */
  CreationDateTime?: DateTime;

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

  /**
   * @generated from field: repeated api.MetadataElement MetaData = 3;
   */
  MetaData: MetadataElement[] = [];

  /**
   * @generated from field: api.TradeTier ShipFrom = 4;
   */
  ShipFrom?: TradeTier;

  /**
   * @generated from field: api.TradeTier ShipTo = 5;
   */
  ShipTo?: TradeTier;

  /**
   * @generated from field: api.TradeTier Carrier = 6;
   */
  Carrier?: TradeTier;

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

  /**
   * @generated from field: api.OrderRequestedMilestones RequestedMilestones = 8;
   */
  RequestedMilestones?: OrderRequestedMilestones;

  /**
   * @generated from field: repeated api.ExeFlowLine Lines = 9;
   */
  Lines: ExeFlowLine[] = [];

  /**
   * @generated from field: api.ExecutionflowStatusStruct Status = 13;
   */
  Status?: ExecutionflowStatusStruct;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowCreateDetectedOrderPayload";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "CreationDateTime", kind: "message", T: DateTime },
    { no: 2, name: "OrderID", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "MetaData", kind: "message", T: MetadataElement, repeated: true },
    { no: 4, name: "ShipFrom", kind: "message", T: TradeTier },
    { no: 5, name: "ShipTo", kind: "message", T: TradeTier },
    { no: 6, name: "Carrier", kind: "message", T: TradeTier },
    { no: 7, name: "CarrierService", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 8, name: "RequestedMilestones", kind: "message", T: OrderRequestedMilestones },
    { no: 9, name: "Lines", kind: "message", T: ExeFlowLine, repeated: true },
    { no: 13, name: "Status", kind: "message", T: ExecutionflowStatusStruct },
  ]);

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

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

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

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

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

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

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

  /**
   * @generated from field: api.ExecutionflowCreateDetectedOrderPayload EventPayload = 4;
   */
  EventPayload?: ExecutionflowCreateDetectedOrderPayload;

  /**
   * @generated from field: api.ExecutionflowCreateDetectedOrderPayload PreviousPayload = 5;
   */
  PreviousPayload?: ExecutionflowCreateDetectedOrderPayload;

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

  static readonly runtime: typeof proto3 = proto3;
  static readonly typeName = "api.ExecutionflowCreateDetectedOrder";
  static readonly fields: FieldList = proto3.util.newFieldList(() => [
    { no: 1, name: "Header", kind: "message", T: CommandHeader },
    { no: 2, name: "ID", kind: "message", T: EntityID },
    { no: 3, name: "Payload", kind: "message", T: ExecutionflowCreateDetectedOrderPayload },
    { no: 4, name: "EventPayload", kind: "message", T: ExecutionflowCreateDetectedOrderPayload },
    { no: 5, name: "PreviousPayload", kind: "message", T: ExecutionflowCreateDetectedOrderPayload },
  ]);

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

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

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

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

