// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "actorInput.proto" (package "api", syntax proto3)
// tslint:disable
import { ServiceType } from "@protobuf-ts/runtime-rpc";
import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
import type { IBinaryWriter } from "@protobuf-ts/runtime";
import { WireType } from "@protobuf-ts/runtime";
import type { BinaryReadOptions } from "@protobuf-ts/runtime";
import type { IBinaryReader } from "@protobuf-ts/runtime";
import { UnknownFieldHandler } from "@protobuf-ts/runtime";
import type { PartialMessage } from "@protobuf-ts/runtime";
import { reflectionMergePartial } from "@protobuf-ts/runtime";
import { MessageType } from "@protobuf-ts/runtime";
import { ClaimSummary } from "./shared";
import { AttachmentSummary } from "./shared";
import { ActorSnapshot } from "./repositoryShared";
import { ResponseHeader } from "./shared";
import { RequestProjectHeader } from "./shared";
import { EntityID } from "./shared";
import { EventHeader } from "./shared";
import { CarrierService } from "./repositoryShared";
import { ActorTypology } from "./repositoryShared";
import { Address } from "./repositoryShared";
import { MetadataElement } from "./shared";
import { IdType } from "./repositoryShared";
/**
 * Event Payload
 *
 * @generated from protobuf message api.ActorCreatedPayload
 */
export interface ActorCreatedPayload {
    /**
     * Actor Name
     *
     * @generated from protobuf field: string Name = 1 [json_name = "Name"];
     */
    name: string;
    /**
     * @generated from protobuf field: api.IdType IdType = 2 [json_name = "IdType"];
     */
    idType: IdType;
    /**
     * @generated from protobuf field: repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"];
     */
    metaData: MetadataElement[];
    /**
     * @generated from protobuf field: api.Address Address = 4 [json_name = "Address"];
     */
    address?: Address;
    // ActorContact Contact = 5;

    /**
     * Existing PartnerID
     *
     * @generated from protobuf field: string PartnerID = 6 [json_name = "PartnerID"];
     */
    partnerID: string;
    // PartnerPayload Partner = 7;
    // string AdditionalInformations = 9;

    /**
     * @generated from protobuf field: string AdditionalInformation = 15 [json_name = "AdditionalInformation"];
     */
    additionalInformation: string;
    /**
     * @generated from protobuf field: api.ActorTypology Typology = 10 [json_name = "Typology"];
     */
    typology: ActorTypology;
    /**
     * Must be a valid email address
     *
     * @generated from protobuf field: repeated string Emails = 12 [json_name = "Emails"];
     */
    emails: string[];
    /**
     * @generated from protobuf field: repeated string Phones = 13 [json_name = "Phones"];
     */
    phones: string[];
    /**
     * Can manage stock
     *
     * @generated from protobuf field: bool ManagedStock = 14 [json_name = "ManagedStock"];
     */
    managedStock: boolean;
    /**
     * Can be used as carrier
     *
     * @generated from protobuf field: bool IsCarrier = 16 [json_name = "IsCarrier"];
     */
    isCarrier: boolean;
    /**
     * List of carrier services
     *
     * @generated from protobuf field: repeated api.CarrierService CarrierServices = 17 [json_name = "CarrierServices"];
     */
    carrierServices: CarrierService[];
    /**
     * @generated from protobuf field: bool IsShipToConnected = 18 [json_name = "IsShipToConnected"];
     */
    isShipToConnected: boolean;
    /**
     * @generated from protobuf field: bool IsShipFromConnected = 19 [json_name = "IsShipFromConnected"];
     */
    isShipFromConnected: boolean;
    /**
     * Must be existing partner ID
     *
     * @generated from protobuf field: string ShipToPartnerAppID = 20 [json_name = "ShipToPartnerAppID"];
     */
    shipToPartnerAppID: string;
    /**
     * Must be existing partner ID
     *
     * @generated from protobuf field: string ShipFromPartnerAppID = 21 [json_name = "ShipFromPartnerAppID"];
     */
    shipFromPartnerAppID: string;
    /**
     * @generated from protobuf field: string PhotoURI = 26 [json_name = "PhotoURI"];
     */
    photoURI: string;
    /**
     * Prefix used to create executionflow identifiers
     *
     * @generated from protobuf field: repeated string ConnectionIdentifierPrefixes = 28 [json_name = "ConnectionIdentifierPrefixes"];
     */
    connectionIdentifierPrefixes: string[];
}
/**
 * Event message
 *
 * @generated from protobuf message api.ActorCreatedEvent
 */
export interface ActorCreatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorCreatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorCreatedPayload;
}
/**
 * API Request
 *
 * @generated from protobuf message api.ActorCreatedRequest
 */
export interface ActorCreatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorCreatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorCreatedPayload;
}
/**
 * API Response
 *
 * @generated from protobuf message api.ActorCreatedResponse
 */
export interface ActorCreatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
/**
 * Event Payload
 *
 * @generated from protobuf message api.ActorCreatedv2Payload
 */
export interface ActorCreatedv2Payload {
    /**
     * @generated from protobuf field: string Name = 1 [json_name = "Name"];
     */
    name: string;
    /**
     * @generated from protobuf field: api.IdType IdType = 2 [json_name = "IdType"];
     */
    idType: IdType;
    /**
     * @generated from protobuf field: repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"];
     */
    metaData: MetadataElement[];
    /**
     * @generated from protobuf field: api.Address Address = 4 [json_name = "Address"];
     */
    address?: Address;
    /**
     * @generated from protobuf field: string AdditionalInformation = 15 [json_name = "AdditionalInformation"];
     */
    additionalInformation: string;
    /**
     * @generated from protobuf field: api.ActorTypology Typology = 10 [json_name = "Typology"];
     */
    typology: ActorTypology;
    /**
     * Must be a valid email address
     *
     * @generated from protobuf field: repeated string Emails = 12 [json_name = "Emails"];
     */
    emails: string[];
    /**
     * @generated from protobuf field: repeated string Phones = 13 [json_name = "Phones"];
     */
    phones: string[];
    /**
     * Can be used as carrier
     *
     * @generated from protobuf field: bool IsCarrier = 16 [json_name = "IsCarrier"];
     */
    isCarrier: boolean;
    /**
     * List of carrier services
     *
     * @generated from protobuf field: repeated api.CarrierService CarrierServices = 17 [json_name = "CarrierServices"];
     */
    carrierServices: CarrierService[];
}
/**
 * Event message
 *
 * @generated from protobuf message api.ActorCreatedv2Event
 */
export interface ActorCreatedv2Event {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorCreatedv2Payload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorCreatedv2Payload;
}
/**
 * API Request
 *
 * @generated from protobuf message api.ActorCreatedv2Request
 */
export interface ActorCreatedv2Request {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorCreatedv2Payload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorCreatedv2Payload;
}
/**
 * API Response
 *
 * @generated from protobuf message api.ActorCreatedv2Response
 */
export interface ActorCreatedv2Response {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
/**
 * Event Payload
 *
 * @generated from protobuf message api.ActorDeletedPayload
 */
export interface ActorDeletedPayload {
}
/**
 * Event message
 *
 * @generated from protobuf message api.ActorDeletedEvent
 */
export interface ActorDeletedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorDeletedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorDeletedPayload;
}
/**
 * API Request
 *
 * @generated from protobuf message api.ActorDeletedRequest
 */
export interface ActorDeletedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorDeletedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorDeletedPayload;
}
/**
 * API Response
 *
 * @generated from protobuf message api.ActorDeletedResponse
 */
export interface ActorDeletedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
/**
 * Event Payload
 *
 * @generated from protobuf message api.ActorSnapshotCompletedPayload
 */
export interface ActorSnapshotCompletedPayload {
    /**
     * @generated from protobuf field: api.ActorSnapshot Snapshot = 1 [json_name = "Snapshot"];
     */
    snapshot?: ActorSnapshot;
}
/**
 * Event message
 *
 * @generated from protobuf message api.ActorSnapshotCompletedEvent
 */
export interface ActorSnapshotCompletedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorSnapshotCompletedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorSnapshotCompletedPayload;
}
/**
 * API Request
 *
 * @generated from protobuf message api.ActorSnapshotCompletedRequest
 */
export interface ActorSnapshotCompletedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorSnapshotCompletedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorSnapshotCompletedPayload;
}
/**
 * API Response
 *
 * @generated from protobuf message api.ActorSnapshotCompletedResponse
 */
export interface ActorSnapshotCompletedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// AttachmentAdded : this message tells that an attachment is added for the handlingUnit

/**
 * @generated from protobuf message api.ActorAttachmentAddedPayload
 */
export interface ActorAttachmentAddedPayload {
    /**
     * @generated from protobuf field: repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];
     */
    attachments: AttachmentSummary[];
}
/**
 * @generated from protobuf message api.ActorAttachmentAddedEvent
 */
export interface ActorAttachmentAddedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorAttachmentAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorAttachmentAddedPayload;
}
/**
 * @generated from protobuf message api.ActorAttachmentAddedRequest
 */
export interface ActorAttachmentAddedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorAttachmentAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorAttachmentAddedPayload;
}
/**
 * @generated from protobuf message api.ActorAttachmentAddedResponse
 */
export interface ActorAttachmentAddedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// AttachmentRemoved : this message tells that an attachment is removed for the handlingUnit

/**
 * @generated from protobuf message api.ActorAttachmentRemovedPayload
 */
export interface ActorAttachmentRemovedPayload {
    /**
     * @generated from protobuf field: repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];
     */
    attachments: AttachmentSummary[];
}
/**
 * @generated from protobuf message api.ActorAttachmentRemovedEvent
 */
export interface ActorAttachmentRemovedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorAttachmentRemovedPayload;
}
/**
 * @generated from protobuf message api.ActorAttachmentRemovedRequest
 */
export interface ActorAttachmentRemovedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorAttachmentRemovedPayload;
}
/**
 * @generated from protobuf message api.ActorAttachmentRemovedResponse
 */
export interface ActorAttachmentRemovedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// ClaimAdded : this message tells that a claim is added for the Actor

/**
 * @generated from protobuf message api.ActorClaimAddedPayload
 */
export interface ActorClaimAddedPayload {
    /**
     * @generated from protobuf field: repeated api.ClaimSummary Claims = 1 [json_name = "Claims"];
     */
    claims: ClaimSummary[];
}
/**
 * @generated from protobuf message api.ActorClaimAddedEvent
 */
export interface ActorClaimAddedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorClaimAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorClaimAddedPayload;
}
/**
 * @generated from protobuf message api.ActorClaimAddedRequest
 */
export interface ActorClaimAddedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorClaimAddedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorClaimAddedPayload;
}
/**
 * @generated from protobuf message api.ActorClaimAddedResponse
 */
export interface ActorClaimAddedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// 
// MetaDataUpdated
// - Inform the Actor about a metadata update.
// 
// Comments updated 2022/10/19

/**
 * @generated from protobuf message api.ActorMetaDataUpdatedPayload
 */
export interface ActorMetaDataUpdatedPayload {
    /**
     * Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)
     *
     * @generated from protobuf field: repeated api.MetadataElement MetaData = 1 [json_name = "MetaData"];
     */
    metaData: MetadataElement[];
}
/**
 * @generated from protobuf message api.ActorMetaDataUpdatedEvent
 */
export interface ActorMetaDataUpdatedEvent {
    /**
     * @generated from protobuf field: api.EventHeader Header = 1 [json_name = "Header"];
     */
    header?: EventHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorMetaDataUpdatedPayload;
}
/**
 * @generated from protobuf message api.ActorMetaDataUpdatedRequest
 */
export interface ActorMetaDataUpdatedRequest {
    /**
     * @generated from protobuf field: api.RequestProjectHeader Header = 1 [json_name = "Header"];
     */
    header?: RequestProjectHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
    /**
     * @generated from protobuf field: api.ActorMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];
     */
    payload?: ActorMetaDataUpdatedPayload;
}
/**
 * @generated from protobuf message api.ActorMetaDataUpdatedResponse
 */
export interface ActorMetaDataUpdatedResponse {
    /**
     * @generated from protobuf field: api.ResponseHeader Header = 1 [json_name = "Header"];
     */
    header?: ResponseHeader;
    /**
     * @generated from protobuf field: api.EntityID ID = 2 [json_name = "ID"];
     */
    iD?: EntityID;
}
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedPayload$Type extends MessageType<ActorCreatedPayload> {
    constructor() {
        super("api.ActorCreatedPayload", [
            { no: 1, name: "Name", kind: "scalar", jsonName: "Name", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Actor Name" } } },
            { no: 2, name: "IdType", kind: "enum", jsonName: "IdType", T: () => ["api.IdType", IdType], options: { "api.indexationType": { Types: [{ Context: "*", Type: "generatedText" }] }, "api.viewType": { Types: [{ Context: "*", Type: "shortText" }] } } },
            { no: 3, name: "MetaData", kind: "message", jsonName: "MetaData", repeat: 1 /*RepeatType.PACKED*/, T: () => MetadataElement, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)" }, "api.metadata": true, "api.aggKey": "Key" } },
            { no: 4, name: "Address", kind: "message", jsonName: "Address", T: () => Address },
            { no: 6, name: "PartnerID", kind: "scalar", jsonName: "PartnerID", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Existing PartnerID" }, "api.entityRef": "Partner" } },
            { no: 15, name: "AdditionalInformation", kind: "scalar", jsonName: "AdditionalInformation", T: 9 /*ScalarType.STRING*/ },
            { no: 10, name: "Typology", kind: "enum", jsonName: "Typology", T: () => ["api.ActorTypology", ActorTypology] },
            { no: 12, name: "Emails", kind: "scalar", jsonName: "Emails", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { items: { string: { email: true, ignoreEmpty: true } } } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Must be a valid email address", example: "[\"John.doe@reflex.com\", \"will.smith@reflex.com\"]" } } },
            { no: 13, name: "Phones", kind: "scalar", jsonName: "Phones", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { example: "[\"06 00 00 00 00\", \"+49 00 0000 0000\"]" } } },
            { no: 14, name: "ManagedStock", kind: "scalar", jsonName: "ManagedStock", T: 8 /*ScalarType.BOOL*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Can manage stock" } } },
            { no: 16, name: "IsCarrier", kind: "scalar", jsonName: "IsCarrier", T: 8 /*ScalarType.BOOL*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Can be used as carrier" } } },
            { no: 17, name: "CarrierServices", kind: "message", jsonName: "CarrierServices", repeat: 1 /*RepeatType.PACKED*/, T: () => CarrierService, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "List of carrier services" }, "api.aggKey": "ID" } },
            { no: 18, name: "IsShipToConnected", kind: "scalar", jsonName: "IsShipToConnected", T: 8 /*ScalarType.BOOL*/ },
            { no: 19, name: "IsShipFromConnected", kind: "scalar", jsonName: "IsShipFromConnected", T: 8 /*ScalarType.BOOL*/ },
            { no: 20, name: "ShipToPartnerAppID", kind: "scalar", jsonName: "ShipToPartnerAppID", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Must be existing partner ID" } } },
            { no: 21, name: "ShipFromPartnerAppID", kind: "scalar", jsonName: "ShipFromPartnerAppID", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Must be existing partner ID" } } },
            { no: 26, name: "PhotoURI", kind: "scalar", jsonName: "PhotoURI", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { example: "\"https://reflex-visibility-forever.jpg\"" }, "api.viewType": { Types: [{ Context: "*", Type: "image" }] } } },
            { no: 28, name: "ConnectionIdentifierPrefixes", kind: "scalar", jsonName: "ConnectionIdentifierPrefixes", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { items: { string: { pattern: "^[a-zA-Z0-9]*" } } } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { description: "Event Payload" } }, "api.messageType": "Event", "api.payload": true, "api.inputEvent": "Created" });
    }
    create(value?: PartialMessage<ActorCreatedPayload>): ActorCreatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.name = "";
        message.idType = 0;
        message.metaData = [];
        message.partnerID = "";
        message.additionalInformation = "";
        message.typology = 0;
        message.emails = [];
        message.phones = [];
        message.managedStock = false;
        message.isCarrier = false;
        message.carrierServices = [];
        message.isShipToConnected = false;
        message.isShipFromConnected = false;
        message.shipToPartnerAppID = "";
        message.shipFromPartnerAppID = "";
        message.photoURI = "";
        message.connectionIdentifierPrefixes = [];
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedPayload): ActorCreatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string Name = 1 [json_name = "Name"];*/ 1:
                    message.name = reader.string();
                    break;
                case /* api.IdType IdType = 2 [json_name = "IdType"];*/ 2:
                    message.idType = reader.int32();
                    break;
                case /* repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"];*/ 3:
                    message.metaData.push(MetadataElement.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* api.Address Address = 4 [json_name = "Address"];*/ 4:
                    message.address = Address.internalBinaryRead(reader, reader.uint32(), options, message.address);
                    break;
                case /* string PartnerID = 6 [json_name = "PartnerID"];*/ 6:
                    message.partnerID = reader.string();
                    break;
                case /* string AdditionalInformation = 15 [json_name = "AdditionalInformation"];*/ 15:
                    message.additionalInformation = reader.string();
                    break;
                case /* api.ActorTypology Typology = 10 [json_name = "Typology"];*/ 10:
                    message.typology = reader.int32();
                    break;
                case /* repeated string Emails = 12 [json_name = "Emails"];*/ 12:
                    message.emails.push(reader.string());
                    break;
                case /* repeated string Phones = 13 [json_name = "Phones"];*/ 13:
                    message.phones.push(reader.string());
                    break;
                case /* bool ManagedStock = 14 [json_name = "ManagedStock"];*/ 14:
                    message.managedStock = reader.bool();
                    break;
                case /* bool IsCarrier = 16 [json_name = "IsCarrier"];*/ 16:
                    message.isCarrier = reader.bool();
                    break;
                case /* repeated api.CarrierService CarrierServices = 17 [json_name = "CarrierServices"];*/ 17:
                    message.carrierServices.push(CarrierService.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* bool IsShipToConnected = 18 [json_name = "IsShipToConnected"];*/ 18:
                    message.isShipToConnected = reader.bool();
                    break;
                case /* bool IsShipFromConnected = 19 [json_name = "IsShipFromConnected"];*/ 19:
                    message.isShipFromConnected = reader.bool();
                    break;
                case /* string ShipToPartnerAppID = 20 [json_name = "ShipToPartnerAppID"];*/ 20:
                    message.shipToPartnerAppID = reader.string();
                    break;
                case /* string ShipFromPartnerAppID = 21 [json_name = "ShipFromPartnerAppID"];*/ 21:
                    message.shipFromPartnerAppID = reader.string();
                    break;
                case /* string PhotoURI = 26 [json_name = "PhotoURI"];*/ 26:
                    message.photoURI = reader.string();
                    break;
                case /* repeated string ConnectionIdentifierPrefixes = 28 [json_name = "ConnectionIdentifierPrefixes"];*/ 28:
                    message.connectionIdentifierPrefixes.push(reader.string());
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string Name = 1 [json_name = "Name"]; */
        if (message.name !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.name);
        /* api.IdType IdType = 2 [json_name = "IdType"]; */
        if (message.idType !== 0)
            writer.tag(2, WireType.Varint).int32(message.idType);
        /* repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"]; */
        for (let i = 0; i < message.metaData.length; i++)
            MetadataElement.internalBinaryWrite(message.metaData[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        /* api.Address Address = 4 [json_name = "Address"]; */
        if (message.address)
            Address.internalBinaryWrite(message.address, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
        /* string PartnerID = 6 [json_name = "PartnerID"]; */
        if (message.partnerID !== "")
            writer.tag(6, WireType.LengthDelimited).string(message.partnerID);
        /* string AdditionalInformation = 15 [json_name = "AdditionalInformation"]; */
        if (message.additionalInformation !== "")
            writer.tag(15, WireType.LengthDelimited).string(message.additionalInformation);
        /* api.ActorTypology Typology = 10 [json_name = "Typology"]; */
        if (message.typology !== 0)
            writer.tag(10, WireType.Varint).int32(message.typology);
        /* repeated string Emails = 12 [json_name = "Emails"]; */
        for (let i = 0; i < message.emails.length; i++)
            writer.tag(12, WireType.LengthDelimited).string(message.emails[i]);
        /* repeated string Phones = 13 [json_name = "Phones"]; */
        for (let i = 0; i < message.phones.length; i++)
            writer.tag(13, WireType.LengthDelimited).string(message.phones[i]);
        /* bool ManagedStock = 14 [json_name = "ManagedStock"]; */
        if (message.managedStock !== false)
            writer.tag(14, WireType.Varint).bool(message.managedStock);
        /* bool IsCarrier = 16 [json_name = "IsCarrier"]; */
        if (message.isCarrier !== false)
            writer.tag(16, WireType.Varint).bool(message.isCarrier);
        /* repeated api.CarrierService CarrierServices = 17 [json_name = "CarrierServices"]; */
        for (let i = 0; i < message.carrierServices.length; i++)
            CarrierService.internalBinaryWrite(message.carrierServices[i], writer.tag(17, WireType.LengthDelimited).fork(), options).join();
        /* bool IsShipToConnected = 18 [json_name = "IsShipToConnected"]; */
        if (message.isShipToConnected !== false)
            writer.tag(18, WireType.Varint).bool(message.isShipToConnected);
        /* bool IsShipFromConnected = 19 [json_name = "IsShipFromConnected"]; */
        if (message.isShipFromConnected !== false)
            writer.tag(19, WireType.Varint).bool(message.isShipFromConnected);
        /* string ShipToPartnerAppID = 20 [json_name = "ShipToPartnerAppID"]; */
        if (message.shipToPartnerAppID !== "")
            writer.tag(20, WireType.LengthDelimited).string(message.shipToPartnerAppID);
        /* string ShipFromPartnerAppID = 21 [json_name = "ShipFromPartnerAppID"]; */
        if (message.shipFromPartnerAppID !== "")
            writer.tag(21, WireType.LengthDelimited).string(message.shipFromPartnerAppID);
        /* string PhotoURI = 26 [json_name = "PhotoURI"]; */
        if (message.photoURI !== "")
            writer.tag(26, WireType.LengthDelimited).string(message.photoURI);
        /* repeated string ConnectionIdentifierPrefixes = 28 [json_name = "ConnectionIdentifierPrefixes"]; */
        for (let i = 0; i < message.connectionIdentifierPrefixes.length; i++)
            writer.tag(28, WireType.LengthDelimited).string(message.connectionIdentifierPrefixes[i]);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedPayload
 */
export const ActorCreatedPayload = new ActorCreatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedEvent$Type extends MessageType<ActorCreatedEvent> {
    constructor() {
        super("api.ActorCreatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorCreatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "EntityID", "ActorCreatedPayload"] } }, "api.messageType": "Event", "api.inputEvent": "Created", "api.preAggMethods": "checkPartnerAppId" });
    }
    create(value?: PartialMessage<ActorCreatedEvent>): ActorCreatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedEvent): ActorCreatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorCreatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorCreatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorCreatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorCreatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedEvent
 */
export const ActorCreatedEvent = new ActorCreatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedRequest$Type extends MessageType<ActorCreatedRequest> {
    constructor() {
        super("api.ActorCreatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorCreatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "Created" });
    }
    create(value?: PartialMessage<ActorCreatedRequest>): ActorCreatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedRequest): ActorCreatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorCreatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorCreatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorCreatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorCreatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedRequest
 */
export const ActorCreatedRequest = new ActorCreatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedResponse$Type extends MessageType<ActorCreatedResponse> {
    constructor() {
        super("api.ActorCreatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "Created" });
    }
    create(value?: PartialMessage<ActorCreatedResponse>): ActorCreatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedResponse): ActorCreatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedResponse
 */
export const ActorCreatedResponse = new ActorCreatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedv2Payload$Type extends MessageType<ActorCreatedv2Payload> {
    constructor() {
        super("api.ActorCreatedv2Payload", [
            { no: 1, name: "Name", kind: "scalar", jsonName: "Name", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Actor Name" } } },
            { no: 2, name: "IdType", kind: "enum", jsonName: "IdType", T: () => ["api.IdType", IdType], options: { "api.indexationType": { Types: [{ Context: "*", Type: "generatedText" }] }, "api.viewType": { Types: [{ Context: "*", Type: "shortText" }] } } },
            { no: 3, name: "MetaData", kind: "message", jsonName: "MetaData", repeat: 1 /*RepeatType.PACKED*/, T: () => MetadataElement, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)" }, "api.metadata": true, "api.aggKey": "Key" } },
            { no: 4, name: "Address", kind: "message", jsonName: "Address", T: () => Address },
            { no: 15, name: "AdditionalInformation", kind: "scalar", jsonName: "AdditionalInformation", T: 9 /*ScalarType.STRING*/ },
            { no: 10, name: "Typology", kind: "enum", jsonName: "Typology", T: () => ["api.ActorTypology", ActorTypology] },
            { no: 12, name: "Emails", kind: "scalar", jsonName: "Emails", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { repeated: { items: { string: { email: true, ignoreEmpty: true } } } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Must be a valid email address", example: "[\"John.doe@reflex.com\", \"will.smith@reflex.com\"]" } } },
            { no: 13, name: "Phones", kind: "scalar", jsonName: "Phones", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { example: "[\"06 00 00 00 00\", \"+49 00 0000 0000\"]" } } },
            { no: 16, name: "IsCarrier", kind: "scalar", jsonName: "IsCarrier", T: 8 /*ScalarType.BOOL*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Can be used as carrier" } } },
            { no: 17, name: "CarrierServices", kind: "message", jsonName: "CarrierServices", repeat: 1 /*RepeatType.PACKED*/, T: () => CarrierService, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "List of carrier services" }, "api.aggKey": "ID" } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { description: "Event Payload" } }, "api.messageType": "Event", "api.payload": true, "api.inputEvent": "Createdv2" });
    }
    create(value?: PartialMessage<ActorCreatedv2Payload>): ActorCreatedv2Payload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.name = "";
        message.idType = 0;
        message.metaData = [];
        message.additionalInformation = "";
        message.typology = 0;
        message.emails = [];
        message.phones = [];
        message.isCarrier = false;
        message.carrierServices = [];
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedv2Payload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedv2Payload): ActorCreatedv2Payload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string Name = 1 [json_name = "Name"];*/ 1:
                    message.name = reader.string();
                    break;
                case /* api.IdType IdType = 2 [json_name = "IdType"];*/ 2:
                    message.idType = reader.int32();
                    break;
                case /* repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"];*/ 3:
                    message.metaData.push(MetadataElement.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* api.Address Address = 4 [json_name = "Address"];*/ 4:
                    message.address = Address.internalBinaryRead(reader, reader.uint32(), options, message.address);
                    break;
                case /* string AdditionalInformation = 15 [json_name = "AdditionalInformation"];*/ 15:
                    message.additionalInformation = reader.string();
                    break;
                case /* api.ActorTypology Typology = 10 [json_name = "Typology"];*/ 10:
                    message.typology = reader.int32();
                    break;
                case /* repeated string Emails = 12 [json_name = "Emails"];*/ 12:
                    message.emails.push(reader.string());
                    break;
                case /* repeated string Phones = 13 [json_name = "Phones"];*/ 13:
                    message.phones.push(reader.string());
                    break;
                case /* bool IsCarrier = 16 [json_name = "IsCarrier"];*/ 16:
                    message.isCarrier = reader.bool();
                    break;
                case /* repeated api.CarrierService CarrierServices = 17 [json_name = "CarrierServices"];*/ 17:
                    message.carrierServices.push(CarrierService.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedv2Payload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string Name = 1 [json_name = "Name"]; */
        if (message.name !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.name);
        /* api.IdType IdType = 2 [json_name = "IdType"]; */
        if (message.idType !== 0)
            writer.tag(2, WireType.Varint).int32(message.idType);
        /* repeated api.MetadataElement MetaData = 3 [json_name = "MetaData"]; */
        for (let i = 0; i < message.metaData.length; i++)
            MetadataElement.internalBinaryWrite(message.metaData[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        /* api.Address Address = 4 [json_name = "Address"]; */
        if (message.address)
            Address.internalBinaryWrite(message.address, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
        /* string AdditionalInformation = 15 [json_name = "AdditionalInformation"]; */
        if (message.additionalInformation !== "")
            writer.tag(15, WireType.LengthDelimited).string(message.additionalInformation);
        /* api.ActorTypology Typology = 10 [json_name = "Typology"]; */
        if (message.typology !== 0)
            writer.tag(10, WireType.Varint).int32(message.typology);
        /* repeated string Emails = 12 [json_name = "Emails"]; */
        for (let i = 0; i < message.emails.length; i++)
            writer.tag(12, WireType.LengthDelimited).string(message.emails[i]);
        /* repeated string Phones = 13 [json_name = "Phones"]; */
        for (let i = 0; i < message.phones.length; i++)
            writer.tag(13, WireType.LengthDelimited).string(message.phones[i]);
        /* bool IsCarrier = 16 [json_name = "IsCarrier"]; */
        if (message.isCarrier !== false)
            writer.tag(16, WireType.Varint).bool(message.isCarrier);
        /* repeated api.CarrierService CarrierServices = 17 [json_name = "CarrierServices"]; */
        for (let i = 0; i < message.carrierServices.length; i++)
            CarrierService.internalBinaryWrite(message.carrierServices[i], writer.tag(17, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedv2Payload
 */
export const ActorCreatedv2Payload = new ActorCreatedv2Payload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedv2Event$Type extends MessageType<ActorCreatedv2Event> {
    constructor() {
        super("api.ActorCreatedv2Event", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorCreatedv2Payload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "Createdv2" });
    }
    create(value?: PartialMessage<ActorCreatedv2Event>): ActorCreatedv2Event {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedv2Event>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedv2Event): ActorCreatedv2Event {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorCreatedv2Payload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorCreatedv2Payload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedv2Event, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorCreatedv2Payload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorCreatedv2Payload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedv2Event
 */
export const ActorCreatedv2Event = new ActorCreatedv2Event$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedv2Request$Type extends MessageType<ActorCreatedv2Request> {
    constructor() {
        super("api.ActorCreatedv2Request", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorCreatedv2Payload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "Createdv2" });
    }
    create(value?: PartialMessage<ActorCreatedv2Request>): ActorCreatedv2Request {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedv2Request>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedv2Request): ActorCreatedv2Request {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorCreatedv2Payload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorCreatedv2Payload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedv2Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorCreatedv2Payload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorCreatedv2Payload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedv2Request
 */
export const ActorCreatedv2Request = new ActorCreatedv2Request$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorCreatedv2Response$Type extends MessageType<ActorCreatedv2Response> {
    constructor() {
        super("api.ActorCreatedv2Response", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "Createdv2" });
    }
    create(value?: PartialMessage<ActorCreatedv2Response>): ActorCreatedv2Response {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorCreatedv2Response>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorCreatedv2Response): ActorCreatedv2Response {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorCreatedv2Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorCreatedv2Response
 */
export const ActorCreatedv2Response = new ActorCreatedv2Response$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorDeletedPayload$Type extends MessageType<ActorDeletedPayload> {
    constructor() {
        super("api.ActorDeletedPayload", [], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { description: "Event Payload" } }, "api.messageType": "Event", "api.payload": true, "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<ActorDeletedPayload>): ActorDeletedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorDeletedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorDeletedPayload): ActorDeletedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorDeletedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorDeletedPayload
 */
export const ActorDeletedPayload = new ActorDeletedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorDeletedEvent$Type extends MessageType<ActorDeletedEvent> {
    constructor() {
        super("api.ActorDeletedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorDeletedPayload }
        ], { "api.messageType": "Event", "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<ActorDeletedEvent>): ActorDeletedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorDeletedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorDeletedEvent): ActorDeletedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorDeletedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorDeletedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorDeletedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorDeletedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorDeletedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorDeletedEvent
 */
export const ActorDeletedEvent = new ActorDeletedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorDeletedRequest$Type extends MessageType<ActorDeletedRequest> {
    constructor() {
        super("api.ActorDeletedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorDeletedPayload }
        ], { "api.messageType": "Request", "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<ActorDeletedRequest>): ActorDeletedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorDeletedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorDeletedRequest): ActorDeletedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorDeletedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorDeletedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorDeletedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorDeletedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorDeletedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorDeletedRequest
 */
export const ActorDeletedRequest = new ActorDeletedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorDeletedResponse$Type extends MessageType<ActorDeletedResponse> {
    constructor() {
        super("api.ActorDeletedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "Deleted" });
    }
    create(value?: PartialMessage<ActorDeletedResponse>): ActorDeletedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorDeletedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorDeletedResponse): ActorDeletedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorDeletedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorDeletedResponse
 */
export const ActorDeletedResponse = new ActorDeletedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorSnapshotCompletedPayload$Type extends MessageType<ActorSnapshotCompletedPayload> {
    constructor() {
        super("api.ActorSnapshotCompletedPayload", [
            { no: 1, name: "Snapshot", kind: "message", jsonName: "Snapshot", T: () => ActorSnapshot, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Snapshot"] } }, "api.messageType": "Event", "api.payload": true, "api.inputEvent": "SnapshotCompleted", "api.preAggMethods": "RejectSnapshot" });
    }
    create(value?: PartialMessage<ActorSnapshotCompletedPayload>): ActorSnapshotCompletedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorSnapshotCompletedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorSnapshotCompletedPayload): ActorSnapshotCompletedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ActorSnapshot Snapshot = 1 [json_name = "Snapshot"];*/ 1:
                    message.snapshot = ActorSnapshot.internalBinaryRead(reader, reader.uint32(), options, message.snapshot);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorSnapshotCompletedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ActorSnapshot Snapshot = 1 [json_name = "Snapshot"]; */
        if (message.snapshot)
            ActorSnapshot.internalBinaryWrite(message.snapshot, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorSnapshotCompletedPayload
 */
export const ActorSnapshotCompletedPayload = new ActorSnapshotCompletedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorSnapshotCompletedEvent$Type extends MessageType<ActorSnapshotCompletedEvent> {
    constructor() {
        super("api.ActorSnapshotCompletedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorSnapshotCompletedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "SnapshotCompleted" });
    }
    create(value?: PartialMessage<ActorSnapshotCompletedEvent>): ActorSnapshotCompletedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorSnapshotCompletedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorSnapshotCompletedEvent): ActorSnapshotCompletedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorSnapshotCompletedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorSnapshotCompletedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorSnapshotCompletedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorSnapshotCompletedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorSnapshotCompletedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorSnapshotCompletedEvent
 */
export const ActorSnapshotCompletedEvent = new ActorSnapshotCompletedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorSnapshotCompletedRequest$Type extends MessageType<ActorSnapshotCompletedRequest> {
    constructor() {
        super("api.ActorSnapshotCompletedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorSnapshotCompletedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "SnapshotCompleted" });
    }
    create(value?: PartialMessage<ActorSnapshotCompletedRequest>): ActorSnapshotCompletedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorSnapshotCompletedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorSnapshotCompletedRequest): ActorSnapshotCompletedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorSnapshotCompletedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorSnapshotCompletedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorSnapshotCompletedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorSnapshotCompletedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorSnapshotCompletedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorSnapshotCompletedRequest
 */
export const ActorSnapshotCompletedRequest = new ActorSnapshotCompletedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorSnapshotCompletedResponse$Type extends MessageType<ActorSnapshotCompletedResponse> {
    constructor() {
        super("api.ActorSnapshotCompletedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "SnapshotCompleted" });
    }
    create(value?: PartialMessage<ActorSnapshotCompletedResponse>): ActorSnapshotCompletedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorSnapshotCompletedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorSnapshotCompletedResponse): ActorSnapshotCompletedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorSnapshotCompletedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorSnapshotCompletedResponse
 */
export const ActorSnapshotCompletedResponse = new ActorSnapshotCompletedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentAddedPayload$Type extends MessageType<ActorAttachmentAddedPayload> {
    constructor() {
        super("api.ActorAttachmentAddedPayload", [
            { no: 1, name: "Attachments", kind: "message", jsonName: "Attachments", repeat: 1 /*RepeatType.PACKED*/, T: () => AttachmentSummary, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Number of attachments added per type" } } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "AttachmentAdded" });
    }
    create(value?: PartialMessage<ActorAttachmentAddedPayload>): ActorAttachmentAddedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.attachments = [];
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentAddedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentAddedPayload): ActorAttachmentAddedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];*/ 1:
                    message.attachments.push(AttachmentSummary.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentAddedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"]; */
        for (let i = 0; i < message.attachments.length; i++)
            AttachmentSummary.internalBinaryWrite(message.attachments[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentAddedPayload
 */
export const ActorAttachmentAddedPayload = new ActorAttachmentAddedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentAddedEvent$Type extends MessageType<ActorAttachmentAddedEvent> {
    constructor() {
        super("api.ActorAttachmentAddedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorAttachmentAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "AttachmentAdded", "api.preAggMethods": "addAttachment" });
    }
    create(value?: PartialMessage<ActorAttachmentAddedEvent>): ActorAttachmentAddedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentAddedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentAddedEvent): ActorAttachmentAddedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorAttachmentAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorAttachmentAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentAddedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorAttachmentAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorAttachmentAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentAddedEvent
 */
export const ActorAttachmentAddedEvent = new ActorAttachmentAddedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentAddedRequest$Type extends MessageType<ActorAttachmentAddedRequest> {
    constructor() {
        super("api.ActorAttachmentAddedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorAttachmentAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "AttachmentAdded" });
    }
    create(value?: PartialMessage<ActorAttachmentAddedRequest>): ActorAttachmentAddedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentAddedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentAddedRequest): ActorAttachmentAddedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorAttachmentAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorAttachmentAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentAddedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorAttachmentAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorAttachmentAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentAddedRequest
 */
export const ActorAttachmentAddedRequest = new ActorAttachmentAddedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentAddedResponse$Type extends MessageType<ActorAttachmentAddedResponse> {
    constructor() {
        super("api.ActorAttachmentAddedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "AttachmentAdded" });
    }
    create(value?: PartialMessage<ActorAttachmentAddedResponse>): ActorAttachmentAddedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentAddedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentAddedResponse): ActorAttachmentAddedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentAddedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentAddedResponse
 */
export const ActorAttachmentAddedResponse = new ActorAttachmentAddedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentRemovedPayload$Type extends MessageType<ActorAttachmentRemovedPayload> {
    constructor() {
        super("api.ActorAttachmentRemovedPayload", [
            { no: 1, name: "Attachments", kind: "message", jsonName: "Attachments", repeat: 1 /*RepeatType.PACKED*/, T: () => AttachmentSummary, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Number of attachments removed per type" } } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "AttachmentRemoved" });
    }
    create(value?: PartialMessage<ActorAttachmentRemovedPayload>): ActorAttachmentRemovedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.attachments = [];
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentRemovedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentRemovedPayload): ActorAttachmentRemovedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"];*/ 1:
                    message.attachments.push(AttachmentSummary.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentRemovedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.AttachmentSummary Attachments = 1 [json_name = "Attachments"]; */
        for (let i = 0; i < message.attachments.length; i++)
            AttachmentSummary.internalBinaryWrite(message.attachments[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentRemovedPayload
 */
export const ActorAttachmentRemovedPayload = new ActorAttachmentRemovedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentRemovedEvent$Type extends MessageType<ActorAttachmentRemovedEvent> {
    constructor() {
        super("api.ActorAttachmentRemovedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorAttachmentRemovedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "AttachmentRemoved", "api.preAggMethods": "removeAttachment" });
    }
    create(value?: PartialMessage<ActorAttachmentRemovedEvent>): ActorAttachmentRemovedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentRemovedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentRemovedEvent): ActorAttachmentRemovedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorAttachmentRemovedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentRemovedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorAttachmentRemovedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorAttachmentRemovedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentRemovedEvent
 */
export const ActorAttachmentRemovedEvent = new ActorAttachmentRemovedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentRemovedRequest$Type extends MessageType<ActorAttachmentRemovedRequest> {
    constructor() {
        super("api.ActorAttachmentRemovedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorAttachmentRemovedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "AttachmentRemoved" });
    }
    create(value?: PartialMessage<ActorAttachmentRemovedRequest>): ActorAttachmentRemovedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentRemovedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentRemovedRequest): ActorAttachmentRemovedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorAttachmentRemovedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorAttachmentRemovedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentRemovedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorAttachmentRemovedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorAttachmentRemovedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentRemovedRequest
 */
export const ActorAttachmentRemovedRequest = new ActorAttachmentRemovedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorAttachmentRemovedResponse$Type extends MessageType<ActorAttachmentRemovedResponse> {
    constructor() {
        super("api.ActorAttachmentRemovedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "AttachmentRemoved" });
    }
    create(value?: PartialMessage<ActorAttachmentRemovedResponse>): ActorAttachmentRemovedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorAttachmentRemovedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorAttachmentRemovedResponse): ActorAttachmentRemovedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorAttachmentRemovedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorAttachmentRemovedResponse
 */
export const ActorAttachmentRemovedResponse = new ActorAttachmentRemovedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorClaimAddedPayload$Type extends MessageType<ActorClaimAddedPayload> {
    constructor() {
        super("api.ActorClaimAddedPayload", [
            { no: 1, name: "Claims", kind: "message", jsonName: "Claims", repeat: 1 /*RepeatType.PACKED*/, T: () => ClaimSummary, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Number of claims added per type" }, "api.aggKey": "ClaimTypeID" } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "ClaimAdded" });
    }
    create(value?: PartialMessage<ActorClaimAddedPayload>): ActorClaimAddedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.claims = [];
        if (value !== undefined)
            reflectionMergePartial<ActorClaimAddedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorClaimAddedPayload): ActorClaimAddedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.ClaimSummary Claims = 1 [json_name = "Claims"];*/ 1:
                    message.claims.push(ClaimSummary.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorClaimAddedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.ClaimSummary Claims = 1 [json_name = "Claims"]; */
        for (let i = 0; i < message.claims.length; i++)
            ClaimSummary.internalBinaryWrite(message.claims[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorClaimAddedPayload
 */
export const ActorClaimAddedPayload = new ActorClaimAddedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorClaimAddedEvent$Type extends MessageType<ActorClaimAddedEvent> {
    constructor() {
        super("api.ActorClaimAddedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorClaimAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "ClaimAdded", "api.preAggMethods": "addClaim" });
    }
    create(value?: PartialMessage<ActorClaimAddedEvent>): ActorClaimAddedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorClaimAddedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorClaimAddedEvent): ActorClaimAddedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorClaimAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorClaimAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorClaimAddedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorClaimAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorClaimAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorClaimAddedEvent
 */
export const ActorClaimAddedEvent = new ActorClaimAddedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorClaimAddedRequest$Type extends MessageType<ActorClaimAddedRequest> {
    constructor() {
        super("api.ActorClaimAddedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorClaimAddedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "ClaimAdded" });
    }
    create(value?: PartialMessage<ActorClaimAddedRequest>): ActorClaimAddedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorClaimAddedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorClaimAddedRequest): ActorClaimAddedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorClaimAddedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorClaimAddedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorClaimAddedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorClaimAddedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorClaimAddedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorClaimAddedRequest
 */
export const ActorClaimAddedRequest = new ActorClaimAddedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorClaimAddedResponse$Type extends MessageType<ActorClaimAddedResponse> {
    constructor() {
        super("api.ActorClaimAddedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "ClaimAdded" });
    }
    create(value?: PartialMessage<ActorClaimAddedResponse>): ActorClaimAddedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorClaimAddedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorClaimAddedResponse): ActorClaimAddedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorClaimAddedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorClaimAddedResponse
 */
export const ActorClaimAddedResponse = new ActorClaimAddedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorMetaDataUpdatedPayload$Type extends MessageType<ActorMetaDataUpdatedPayload> {
    constructor() {
        super("api.ActorMetaDataUpdatedPayload", [
            { no: 1, name: "MetaData", kind: "message", jsonName: "MetaData", repeat: 1 /*RepeatType.PACKED*/, T: () => MetadataElement, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Metadata are characteristics specific to the project. They can be of several data form (string, integer, float, boolean or timestamp)" }, "api.metadata": true, "api.aggKey": "Key" } }
        ], { "api.messageType": "Event", "api.payload": true, "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<ActorMetaDataUpdatedPayload>): ActorMetaDataUpdatedPayload {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.metaData = [];
        if (value !== undefined)
            reflectionMergePartial<ActorMetaDataUpdatedPayload>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorMetaDataUpdatedPayload): ActorMetaDataUpdatedPayload {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.MetadataElement MetaData = 1 [json_name = "MetaData"];*/ 1:
                    message.metaData.push(MetadataElement.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorMetaDataUpdatedPayload, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.MetadataElement MetaData = 1 [json_name = "MetaData"]; */
        for (let i = 0; i < message.metaData.length; i++)
            MetadataElement.internalBinaryWrite(message.metaData[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorMetaDataUpdatedPayload
 */
export const ActorMetaDataUpdatedPayload = new ActorMetaDataUpdatedPayload$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorMetaDataUpdatedEvent$Type extends MessageType<ActorMetaDataUpdatedEvent> {
    constructor() {
        super("api.ActorMetaDataUpdatedEvent", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => EventHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorMetaDataUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "api.messageType": "Event", "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<ActorMetaDataUpdatedEvent>): ActorMetaDataUpdatedEvent {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorMetaDataUpdatedEvent>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorMetaDataUpdatedEvent): ActorMetaDataUpdatedEvent {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.EventHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = EventHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorMetaDataUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorMetaDataUpdatedEvent, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.EventHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            EventHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorMetaDataUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorMetaDataUpdatedEvent
 */
export const ActorMetaDataUpdatedEvent = new ActorMetaDataUpdatedEvent$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorMetaDataUpdatedRequest$Type extends MessageType<ActorMetaDataUpdatedRequest> {
    constructor() {
        super("api.ActorMetaDataUpdatedRequest", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => RequestProjectHeader, options: { "validate.rules": { message: { required: true } } } },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID, options: { "validate.rules": { message: { required: true } } } },
            { no: 3, name: "Payload", kind: "message", jsonName: "Payload", T: () => ActorMetaDataUpdatedPayload, options: { "validate.rules": { message: { required: true } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Header", "ID", "Payload"] } }, "api.messageType": "Request", "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<ActorMetaDataUpdatedRequest>): ActorMetaDataUpdatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorMetaDataUpdatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorMetaDataUpdatedRequest): ActorMetaDataUpdatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.RequestProjectHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = RequestProjectHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                case /* api.ActorMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"];*/ 3:
                    message.payload = ActorMetaDataUpdatedPayload.internalBinaryRead(reader, reader.uint32(), options, message.payload);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorMetaDataUpdatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.RequestProjectHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            RequestProjectHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ActorMetaDataUpdatedPayload Payload = 3 [json_name = "Payload"]; */
        if (message.payload)
            ActorMetaDataUpdatedPayload.internalBinaryWrite(message.payload, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorMetaDataUpdatedRequest
 */
export const ActorMetaDataUpdatedRequest = new ActorMetaDataUpdatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ActorMetaDataUpdatedResponse$Type extends MessageType<ActorMetaDataUpdatedResponse> {
    constructor() {
        super("api.ActorMetaDataUpdatedResponse", [
            { no: 1, name: "Header", kind: "message", jsonName: "Header", T: () => ResponseHeader },
            { no: 2, name: "ID", kind: "message", jsonName: "ID", T: () => EntityID }
        ], { "api.messageType": "Response", "api.inputEvent": "MetaDataUpdated" });
    }
    create(value?: PartialMessage<ActorMetaDataUpdatedResponse>): ActorMetaDataUpdatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ActorMetaDataUpdatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ActorMetaDataUpdatedResponse): ActorMetaDataUpdatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.ResponseHeader Header = 1 [json_name = "Header"];*/ 1:
                    message.header = ResponseHeader.internalBinaryRead(reader, reader.uint32(), options, message.header);
                    break;
                case /* api.EntityID ID = 2 [json_name = "ID"];*/ 2:
                    message.iD = EntityID.internalBinaryRead(reader, reader.uint32(), options, message.iD);
                    break;
                default:
                    let u = options.readUnknownField;
                    if (u === "throw")
                        throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
                    let d = reader.skip(wireType);
                    if (u !== false)
                        (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
            }
        }
        return message;
    }
    internalBinaryWrite(message: ActorMetaDataUpdatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.ResponseHeader Header = 1 [json_name = "Header"]; */
        if (message.header)
            ResponseHeader.internalBinaryWrite(message.header, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
        /* api.EntityID ID = 2 [json_name = "ID"]; */
        if (message.iD)
            EntityID.internalBinaryWrite(message.iD, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ActorMetaDataUpdatedResponse
 */
export const ActorMetaDataUpdatedResponse = new ActorMetaDataUpdatedResponse$Type();
/**
 * @generated ServiceType for protobuf service api.ActorInputAPI
 */
export const ActorInputAPI = new ServiceType("api.ActorInputAPI", [
    { name: "Created", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "Prefer Createdv2 API usage instead." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: ActorCreatedRequest, O: ActorCreatedResponse },
    { name: "Createdv2", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "An Actor has been created." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: ActorCreatedv2Request, O: ActorCreatedv2Response },
    { name: "Deleted", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "An Actor has been deleted. This is called from Reflex Platform Admin service to share the Organisation actors." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: ActorDeletedRequest, O: ActorDeletedResponse },
    { name: "SnapshotCompleted", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "A snapshot has been completed on this actor. This is called from a WMS to inform that all Stock snapshot event have been sent." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: ActorSnapshotCompletedRequest, O: ActorSnapshotCompletedResponse },
    { name: "AttachmentAdded", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "An attachment is added for the Actor." }, "api.rscType": "Project", "api.roles": "Platform.Project-Attachment", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: ActorAttachmentAddedRequest, O: ActorAttachmentAddedResponse },
    { name: "AttachmentRemoved", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "An attachment is removed for the Actor." }, "api.rscType": "Project", "api.roles": "Platform.Project-Attachment", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: ActorAttachmentRemovedRequest, O: ActorAttachmentRemovedResponse },
    { name: "ClaimAdded", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "A claim is added for the Actor." }, "api.rscType": "Project", "api.roles": "Platform.Project-Claim", "api.platformReserved": true, "google.api.method_visibility": { restriction: "INTERNAL" } }, I: ActorClaimAddedRequest, O: ActorClaimAddedResponse },
    { name: "MetaDataUpdated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Actor Inputs"], description: "Some metadata have been updated on an Actor. This is typically called from OMS or ERP." }, "api.rscType": "Project", "api.roles": "Platform.Project-Input", "google.api.method_visibility": { restriction: "PUBLIC" } }, I: ActorMetaDataUpdatedRequest, O: ActorMetaDataUpdatedResponse }
], { "api.serviceType": "Api", "api.k8sService": "api-server" });
