// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "module.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";
/**
 * @generated from protobuf message api.Module
 */
export interface Module {
    /**
     * @generated from protobuf field: string ID = 1 [json_name = "ID"];
     */
    iD: string;
    /**
     * @generated from protobuf field: repeated api.Module DependsOn = 2 [json_name = "DependsOn"];
     */
    dependsOn: Module[];
    /**
     * @generated from protobuf field: api.ModuleCategory Category = 3 [json_name = "Category"];
     */
    category: ModuleCategory;
}
/**
 * @generated from protobuf message api.ListModulesRequest
 */
export interface ListModulesRequest {
}
/**
 * @generated from protobuf message api.ListModulesResponse
 */
export interface ListModulesResponse {
    /**
     * @generated from protobuf field: repeated api.Module Modules = 1 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.SetOrganisationModulesRequest
 */
export interface SetOrganisationModulesRequest {
    /**
     * @generated from protobuf field: string OrganisationID = 1 [json_name = "OrganisationID"];
     */
    organisationID: string;
    /**
     * @generated from protobuf field: repeated api.Module Modules = 2 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.SetOrganisationModulesResponse
 */
export interface SetOrganisationModulesResponse {
}
/**
 * @generated from protobuf message api.ListOrganisationModulesResponse
 */
export interface ListOrganisationModulesResponse {
    /**
     * @generated from protobuf field: repeated api.Module Modules = 1 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.SetProjectModulesRequest
 */
export interface SetProjectModulesRequest {
    /**
     * @generated from protobuf field: string ProjectID = 1 [json_name = "ProjectID"];
     */
    projectID: string;
    /**
     * @generated from protobuf field: repeated api.Module Modules = 2 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.SetProjectModulesResponse
 */
export interface SetProjectModulesResponse {
}
/**
 * @generated from protobuf message api.ListProjectModulesResponse
 */
export interface ListProjectModulesResponse {
    /**
     * @generated from protobuf field: repeated api.Module Modules = 1 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.SetResourceModulesRequest
 */
export interface SetResourceModulesRequest {
    /**
     * @generated from protobuf field: string ResourceID = 1 [json_name = "ResourceID"];
     */
    resourceID: string;
    /**
     * @generated from protobuf field: repeated api.Module Modules = 2 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.SetResourceModulesResponse
 */
export interface SetResourceModulesResponse {
}
/**
 * @generated from protobuf message api.ListResourceModulesRequest
 */
export interface ListResourceModulesRequest {
    /**
     * @generated from protobuf field: string ResourceID = 1 [json_name = "ResourceID"];
     */
    resourceID: string;
}
/**
 * @generated from protobuf message api.ListResourceModulesResponse
 */
export interface ListResourceModulesResponse {
    /**
     * @generated from protobuf field: repeated api.Module Modules = 1 [json_name = "Modules"];
     */
    modules: Module[];
}
/**
 * @generated from protobuf message api.IsAPIActivatedRequest
 */
export interface IsAPIActivatedRequest {
    /**
     * @generated from protobuf field: string ResourceID = 1 [json_name = "ResourceID"];
     */
    resourceID: string;
    /**
     * @generated from protobuf field: string Service = 2 [json_name = "Service"];
     */
    service: string;
    /**
     * @generated from protobuf field: string Method = 3 [json_name = "Method"];
     */
    method: string;
}
/**
 * @generated from protobuf message api.IsAPIActivatedResponse
 */
export interface IsAPIActivatedResponse {
    /**
     * @generated from protobuf field: bool Activated = 1 [json_name = "Activated"];
     */
    activated: boolean;
    /**
     * @generated from protobuf field: string ExpectedModuleID = 2 [json_name = "ExpectedModuleID"];
     */
    expectedModuleID: string;
}
/**
 * @generated from protobuf message api.CreateModuleRequest
 */
export interface CreateModuleRequest {
    /**
     * @generated from protobuf field: api.Module Module = 1 [json_name = "Module"];
     */
    module?: Module;
}
/**
 * @generated from protobuf message api.CreateModuleResponse
 */
export interface CreateModuleResponse {
    /**
     * @generated from protobuf field: api.Module Module = 1 [json_name = "Module"];
     */
    module?: Module;
}
/**
 * @generated from protobuf message api.DeleteModuleRequest
 */
export interface DeleteModuleRequest {
    /**
     * @generated from protobuf field: string ID = 1 [json_name = "ID"];
     */
    iD: string;
}
/**
 * @generated from protobuf message api.DeleteModuleResponse
 */
export interface DeleteModuleResponse {
}
/**
 * @generated from protobuf enum api.ModuleCategory
 */
export enum ModuleCategory {
    /**
     * @generated from protobuf enum value: MODULE_CATEGORY_UNKNOWN = 0;
     */
    UNKNOWN = 0,
    /**
     * @generated from protobuf enum value: MODULE_CATEGORY_CONNECTORS = 1;
     */
    CONNECTORS = 1,
    /**
     * @generated from protobuf enum value: MODULE_CATEGORY_ORDERS = 2;
     */
    ORDERS = 2
}
// @generated message type with reflection information, may provide speed optimized methods
class Module$Type extends MessageType<Module> {
    constructor() {
        super("api.Module", [
            { no: 1, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 2, name: "DependsOn", kind: "message", jsonName: "DependsOn", repeat: 1 /*RepeatType.PACKED*/, T: () => Module },
            { no: 3, name: "Category", kind: "enum", jsonName: "Category", T: () => ["api.ModuleCategory", ModuleCategory, "MODULE_CATEGORY_"] }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ID"] } } });
    }
    create(value?: PartialMessage<Module>): Module {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iD = "";
        message.dependsOn = [];
        message.category = 0;
        if (value !== undefined)
            reflectionMergePartial<Module>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Module): Module {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ID = 1 [json_name = "ID"];*/ 1:
                    message.iD = reader.string();
                    break;
                case /* repeated api.Module DependsOn = 2 [json_name = "DependsOn"];*/ 2:
                    message.dependsOn.push(Module.internalBinaryRead(reader, reader.uint32(), options));
                    break;
                case /* api.ModuleCategory Category = 3 [json_name = "Category"];*/ 3:
                    message.category = reader.int32();
                    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: Module, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ID = 1 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.iD);
        /* repeated api.Module DependsOn = 2 [json_name = "DependsOn"]; */
        for (let i = 0; i < message.dependsOn.length; i++)
            Module.internalBinaryWrite(message.dependsOn[i], writer.tag(2, WireType.LengthDelimited).fork(), options).join();
        /* api.ModuleCategory Category = 3 [json_name = "Category"]; */
        if (message.category !== 0)
            writer.tag(3, WireType.Varint).int32(message.category);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.Module
 */
export const Module = new Module$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListModulesRequest$Type extends MessageType<ListModulesRequest> {
    constructor() {
        super("api.ListModulesRequest", []);
    }
    create(value?: PartialMessage<ListModulesRequest>): ListModulesRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ListModulesRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListModulesRequest): ListModulesRequest {
        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: ListModulesRequest, 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.ListModulesRequest
 */
export const ListModulesRequest = new ListModulesRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListModulesResponse$Type extends MessageType<ListModulesResponse> {
    constructor() {
        super("api.ListModulesResponse", [
            { no: 1, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ]);
    }
    create(value?: PartialMessage<ListModulesResponse>): ListModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<ListModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListModulesResponse): ListModulesResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.Module Modules = 1 [json_name = "Modules"];*/ 1:
                    message.modules.push(Module.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: ListModulesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.Module Modules = 1 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[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.ListModulesResponse
 */
export const ListModulesResponse = new ListModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SetOrganisationModulesRequest$Type extends MessageType<SetOrganisationModulesRequest> {
    constructor() {
        super("api.SetOrganisationModulesRequest", [
            { no: 1, name: "OrganisationID", kind: "scalar", jsonName: "OrganisationID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 2, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["OrganisationID"] } } });
    }
    create(value?: PartialMessage<SetOrganisationModulesRequest>): SetOrganisationModulesRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.organisationID = "";
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<SetOrganisationModulesRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetOrganisationModulesRequest): SetOrganisationModulesRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string OrganisationID = 1 [json_name = "OrganisationID"];*/ 1:
                    message.organisationID = reader.string();
                    break;
                case /* repeated api.Module Modules = 2 [json_name = "Modules"];*/ 2:
                    message.modules.push(Module.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: SetOrganisationModulesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string OrganisationID = 1 [json_name = "OrganisationID"]; */
        if (message.organisationID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.organisationID);
        /* repeated api.Module Modules = 2 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[i], 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.SetOrganisationModulesRequest
 */
export const SetOrganisationModulesRequest = new SetOrganisationModulesRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SetOrganisationModulesResponse$Type extends MessageType<SetOrganisationModulesResponse> {
    constructor() {
        super("api.SetOrganisationModulesResponse", []);
    }
    create(value?: PartialMessage<SetOrganisationModulesResponse>): SetOrganisationModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<SetOrganisationModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetOrganisationModulesResponse): SetOrganisationModulesResponse {
        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: SetOrganisationModulesResponse, 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.SetOrganisationModulesResponse
 */
export const SetOrganisationModulesResponse = new SetOrganisationModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListOrganisationModulesResponse$Type extends MessageType<ListOrganisationModulesResponse> {
    constructor() {
        super("api.ListOrganisationModulesResponse", [
            { no: 1, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ]);
    }
    create(value?: PartialMessage<ListOrganisationModulesResponse>): ListOrganisationModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<ListOrganisationModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListOrganisationModulesResponse): ListOrganisationModulesResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.Module Modules = 1 [json_name = "Modules"];*/ 1:
                    message.modules.push(Module.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: ListOrganisationModulesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.Module Modules = 1 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[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.ListOrganisationModulesResponse
 */
export const ListOrganisationModulesResponse = new ListOrganisationModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SetProjectModulesRequest$Type extends MessageType<SetProjectModulesRequest> {
    constructor() {
        super("api.SetProjectModulesRequest", [
            { no: 1, name: "ProjectID", kind: "scalar", jsonName: "ProjectID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 2, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ProjectID"] } } });
    }
    create(value?: PartialMessage<SetProjectModulesRequest>): SetProjectModulesRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.projectID = "";
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<SetProjectModulesRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetProjectModulesRequest): SetProjectModulesRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ProjectID = 1 [json_name = "ProjectID"];*/ 1:
                    message.projectID = reader.string();
                    break;
                case /* repeated api.Module Modules = 2 [json_name = "Modules"];*/ 2:
                    message.modules.push(Module.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: SetProjectModulesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ProjectID = 1 [json_name = "ProjectID"]; */
        if (message.projectID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.projectID);
        /* repeated api.Module Modules = 2 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[i], 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.SetProjectModulesRequest
 */
export const SetProjectModulesRequest = new SetProjectModulesRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SetProjectModulesResponse$Type extends MessageType<SetProjectModulesResponse> {
    constructor() {
        super("api.SetProjectModulesResponse", []);
    }
    create(value?: PartialMessage<SetProjectModulesResponse>): SetProjectModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<SetProjectModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetProjectModulesResponse): SetProjectModulesResponse {
        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: SetProjectModulesResponse, 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.SetProjectModulesResponse
 */
export const SetProjectModulesResponse = new SetProjectModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListProjectModulesResponse$Type extends MessageType<ListProjectModulesResponse> {
    constructor() {
        super("api.ListProjectModulesResponse", [
            { no: 1, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ]);
    }
    create(value?: PartialMessage<ListProjectModulesResponse>): ListProjectModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<ListProjectModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListProjectModulesResponse): ListProjectModulesResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.Module Modules = 1 [json_name = "Modules"];*/ 1:
                    message.modules.push(Module.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: ListProjectModulesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.Module Modules = 1 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[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.ListProjectModulesResponse
 */
export const ListProjectModulesResponse = new ListProjectModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SetResourceModulesRequest$Type extends MessageType<SetResourceModulesRequest> {
    constructor() {
        super("api.SetResourceModulesRequest", [
            { no: 1, name: "ResourceID", kind: "scalar", jsonName: "ResourceID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 2, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ResourceID"] } } });
    }
    create(value?: PartialMessage<SetResourceModulesRequest>): SetResourceModulesRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.resourceID = "";
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<SetResourceModulesRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetResourceModulesRequest): SetResourceModulesRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ResourceID = 1 [json_name = "ResourceID"];*/ 1:
                    message.resourceID = reader.string();
                    break;
                case /* repeated api.Module Modules = 2 [json_name = "Modules"];*/ 2:
                    message.modules.push(Module.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: SetResourceModulesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ResourceID = 1 [json_name = "ResourceID"]; */
        if (message.resourceID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.resourceID);
        /* repeated api.Module Modules = 2 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[i], 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.SetResourceModulesRequest
 */
export const SetResourceModulesRequest = new SetResourceModulesRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class SetResourceModulesResponse$Type extends MessageType<SetResourceModulesResponse> {
    constructor() {
        super("api.SetResourceModulesResponse", []);
    }
    create(value?: PartialMessage<SetResourceModulesResponse>): SetResourceModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<SetResourceModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetResourceModulesResponse): SetResourceModulesResponse {
        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: SetResourceModulesResponse, 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.SetResourceModulesResponse
 */
export const SetResourceModulesResponse = new SetResourceModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListResourceModulesRequest$Type extends MessageType<ListResourceModulesRequest> {
    constructor() {
        super("api.ListResourceModulesRequest", [
            { no: 1, name: "ResourceID", kind: "scalar", jsonName: "ResourceID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ResourceID"] } } });
    }
    create(value?: PartialMessage<ListResourceModulesRequest>): ListResourceModulesRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.resourceID = "";
        if (value !== undefined)
            reflectionMergePartial<ListResourceModulesRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListResourceModulesRequest): ListResourceModulesRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ResourceID = 1 [json_name = "ResourceID"];*/ 1:
                    message.resourceID = 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: ListResourceModulesRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ResourceID = 1 [json_name = "ResourceID"]; */
        if (message.resourceID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.resourceID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.ListResourceModulesRequest
 */
export const ListResourceModulesRequest = new ListResourceModulesRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListResourceModulesResponse$Type extends MessageType<ListResourceModulesResponse> {
    constructor() {
        super("api.ListResourceModulesResponse", [
            { no: 1, name: "Modules", kind: "message", jsonName: "Modules", repeat: 1 /*RepeatType.PACKED*/, T: () => Module }
        ]);
    }
    create(value?: PartialMessage<ListResourceModulesResponse>): ListResourceModulesResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.modules = [];
        if (value !== undefined)
            reflectionMergePartial<ListResourceModulesResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListResourceModulesResponse): ListResourceModulesResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.Module Modules = 1 [json_name = "Modules"];*/ 1:
                    message.modules.push(Module.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: ListResourceModulesResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.Module Modules = 1 [json_name = "Modules"]; */
        for (let i = 0; i < message.modules.length; i++)
            Module.internalBinaryWrite(message.modules[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.ListResourceModulesResponse
 */
export const ListResourceModulesResponse = new ListResourceModulesResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class IsAPIActivatedRequest$Type extends MessageType<IsAPIActivatedRequest> {
    constructor() {
        super("api.IsAPIActivatedRequest", [
            { no: 1, name: "ResourceID", kind: "scalar", jsonName: "ResourceID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 2, name: "Service", kind: "scalar", jsonName: "Service", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 3, name: "Method", kind: "scalar", jsonName: "Method", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ResourceID", "Service", "Method"] } } });
    }
    create(value?: PartialMessage<IsAPIActivatedRequest>): IsAPIActivatedRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.resourceID = "";
        message.service = "";
        message.method = "";
        if (value !== undefined)
            reflectionMergePartial<IsAPIActivatedRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IsAPIActivatedRequest): IsAPIActivatedRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ResourceID = 1 [json_name = "ResourceID"];*/ 1:
                    message.resourceID = reader.string();
                    break;
                case /* string Service = 2 [json_name = "Service"];*/ 2:
                    message.service = reader.string();
                    break;
                case /* string Method = 3 [json_name = "Method"];*/ 3:
                    message.method = 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: IsAPIActivatedRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ResourceID = 1 [json_name = "ResourceID"]; */
        if (message.resourceID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.resourceID);
        /* string Service = 2 [json_name = "Service"]; */
        if (message.service !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.service);
        /* string Method = 3 [json_name = "Method"]; */
        if (message.method !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.method);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.IsAPIActivatedRequest
 */
export const IsAPIActivatedRequest = new IsAPIActivatedRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class IsAPIActivatedResponse$Type extends MessageType<IsAPIActivatedResponse> {
    constructor() {
        super("api.IsAPIActivatedResponse", [
            { no: 1, name: "Activated", kind: "scalar", jsonName: "Activated", T: 8 /*ScalarType.BOOL*/ },
            { no: 2, name: "ExpectedModuleID", kind: "scalar", jsonName: "ExpectedModuleID", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value?: PartialMessage<IsAPIActivatedResponse>): IsAPIActivatedResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.activated = false;
        message.expectedModuleID = "";
        if (value !== undefined)
            reflectionMergePartial<IsAPIActivatedResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IsAPIActivatedResponse): IsAPIActivatedResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* bool Activated = 1 [json_name = "Activated"];*/ 1:
                    message.activated = reader.bool();
                    break;
                case /* string ExpectedModuleID = 2 [json_name = "ExpectedModuleID"];*/ 2:
                    message.expectedModuleID = 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: IsAPIActivatedResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* bool Activated = 1 [json_name = "Activated"]; */
        if (message.activated !== false)
            writer.tag(1, WireType.Varint).bool(message.activated);
        /* string ExpectedModuleID = 2 [json_name = "ExpectedModuleID"]; */
        if (message.expectedModuleID !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.expectedModuleID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.IsAPIActivatedResponse
 */
export const IsAPIActivatedResponse = new IsAPIActivatedResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateModuleRequest$Type extends MessageType<CreateModuleRequest> {
    constructor() {
        super("api.CreateModuleRequest", [
            { no: 1, name: "Module", kind: "message", jsonName: "Module", T: () => Module }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Module"] } } });
    }
    create(value?: PartialMessage<CreateModuleRequest>): CreateModuleRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<CreateModuleRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateModuleRequest): CreateModuleRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.Module Module = 1 [json_name = "Module"];*/ 1:
                    message.module = Module.internalBinaryRead(reader, reader.uint32(), options, message.module);
                    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: CreateModuleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.Module Module = 1 [json_name = "Module"]; */
        if (message.module)
            Module.internalBinaryWrite(message.module, 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.CreateModuleRequest
 */
export const CreateModuleRequest = new CreateModuleRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateModuleResponse$Type extends MessageType<CreateModuleResponse> {
    constructor() {
        super("api.CreateModuleResponse", [
            { no: 1, name: "Module", kind: "message", jsonName: "Module", T: () => Module }
        ]);
    }
    create(value?: PartialMessage<CreateModuleResponse>): CreateModuleResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<CreateModuleResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateModuleResponse): CreateModuleResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.Module Module = 1 [json_name = "Module"];*/ 1:
                    message.module = Module.internalBinaryRead(reader, reader.uint32(), options, message.module);
                    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: CreateModuleResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.Module Module = 1 [json_name = "Module"]; */
        if (message.module)
            Module.internalBinaryWrite(message.module, 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.CreateModuleResponse
 */
export const CreateModuleResponse = new CreateModuleResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteModuleRequest$Type extends MessageType<DeleteModuleRequest> {
    constructor() {
        super("api.DeleteModuleRequest", [
            { no: 1, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ID"] } } });
    }
    create(value?: PartialMessage<DeleteModuleRequest>): DeleteModuleRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iD = "";
        if (value !== undefined)
            reflectionMergePartial<DeleteModuleRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteModuleRequest): DeleteModuleRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string ID = 1 [json_name = "ID"];*/ 1:
                    message.iD = 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: DeleteModuleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ID = 1 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.iD);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteModuleRequest
 */
export const DeleteModuleRequest = new DeleteModuleRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteModuleResponse$Type extends MessageType<DeleteModuleResponse> {
    constructor() {
        super("api.DeleteModuleResponse", []);
    }
    create(value?: PartialMessage<DeleteModuleResponse>): DeleteModuleResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteModuleResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteModuleResponse): DeleteModuleResponse {
        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: DeleteModuleResponse, 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.DeleteModuleResponse
 */
export const DeleteModuleResponse = new DeleteModuleResponse$Type();
/**
 * @generated ServiceType for protobuf service api.ModuleService
 */
export const ModuleService = new ServiceType("api.ModuleService", [
    { name: "List", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "List all modules of the platform." }, "api.rscType": "Platform", "api.roles": "", "google.api.method_visibility": { restriction: "SDK" } }, I: ListModulesRequest, O: ListModulesResponse },
    { name: "Create", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "Create a module." }, "api.rscType": "Platform", "api.roles": "Platform.Module", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: CreateModuleRequest, O: CreateModuleResponse },
    { name: "Delete", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "Delete a module." }, "api.rscType": "Platform", "api.roles": "Platform.Module", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: DeleteModuleRequest, O: DeleteModuleResponse },
    { name: "SetOrganisationModules", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "Set the modules of an organisation." }, "api.rscType": "Platform", "api.roles": "Platform.Module", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: SetOrganisationModulesRequest, O: SetOrganisationModulesResponse },
    { name: "SetProjectModules", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "Set the modules of a project." }, "api.rscType": "Platform", "api.roles": "Platform.Module", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: SetProjectModulesRequest, O: SetProjectModulesResponse },
    { name: "SetResourceModules", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "Set the modules of a resource." }, "api.rscType": "Platform", "api.roles": "", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: SetResourceModulesRequest, O: SetResourceModulesResponse },
    { name: "ListResourceModules", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "List the modules of a resource." }, "api.rscType": "Platform", "api.roles": "Platform.Module", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: ListResourceModulesRequest, O: ListResourceModulesResponse },
    { name: "IsAPIActivated", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Modules"], description: "Check if the API is activated for the given resource" }, "api.rscType": "Platform", "api.roles": "Platform.Module", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: IsAPIActivatedRequest, O: IsAPIActivatedResponse }
], { "api.k8sService": "authorization-server" });
