// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "idp.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.IDP
 */
export interface IDP {
    /**
     * @generated from protobuf field: string ID = 1 [json_name = "ID"];
     */
    iD: string;
    /**
     * @generated from protobuf field: string Domain = 2 [json_name = "Domain"];
     */
    domain: string;
    /**
     * @generated from protobuf field: string KCID = 3 [json_name = "KCID"];
     */
    kCID: string;
    /**
     * @generated from protobuf field: string OrganisationID = 4 [json_name = "OrganisationID"];
     */
    organisationID: string;
}
/**
 * @generated from protobuf message api.DeleteIDPRequest
 */
export interface DeleteIDPRequest {
    /**
     * @generated from protobuf field: string ID = 1 [json_name = "ID"];
     */
    iD: string;
}
/**
 * @generated from protobuf message api.GetIDPRequest
 */
export interface GetIDPRequest {
    /**
     * @generated from protobuf field: string ID = 1 [json_name = "ID"];
     */
    iD: string;
}
/**
 * @generated from protobuf message api.CreateIDPRequest
 */
export interface CreateIDPRequest {
    /**
     * @generated from protobuf field: string Domain = 2 [json_name = "Domain"];
     */
    domain: string;
    /**
     * @generated from protobuf field: string KCID = 3 [json_name = "KCID"];
     */
    kCID: string;
    /**
     * @generated from protobuf field: string OrganisationID = 4 [json_name = "OrganisationID"];
     */
    organisationID: string;
}
/**
 * @generated from protobuf message api.UpdateIDPRequest
 */
export interface UpdateIDPRequest {
    /**
     * @generated from protobuf field: string ID = 1 [json_name = "ID"];
     */
    iD: string;
    /**
     * @generated from protobuf field: string KCID = 2 [json_name = "KCID"];
     */
    kCID: string;
    /**
     * @generated from protobuf field: string OrganisationID = 3 [json_name = "OrganisationID"];
     */
    organisationID: string;
}
/**
 * @generated from protobuf message api.ListIDPRequest
 */
export interface ListIDPRequest {
}
/**
 * @generated from protobuf message api.CreateIDPResult
 */
export interface CreateIDPResult {
    /**
     * @generated from protobuf field: api.IDP Result = 1 [json_name = "Result"];
     */
    result?: IDP;
}
/**
 * @generated from protobuf message api.UpdateIDPResult
 */
export interface UpdateIDPResult {
    /**
     * @generated from protobuf field: api.IDP Result = 1 [json_name = "Result"];
     */
    result?: IDP;
}
/**
 * @generated from protobuf message api.GetIDPResult
 */
export interface GetIDPResult {
    /**
     * @generated from protobuf field: api.IDP Result = 1 [json_name = "Result"];
     */
    result?: IDP;
}
/**
 * @generated from protobuf message api.ListIDPResult
 */
export interface ListIDPResult {
    /**
     * @generated from protobuf field: repeated api.IDP IDPs = 1 [json_name = "IDPs"];
     */
    iDPs: IDP[];
}
/**
 * @generated from protobuf message api.DeleteIDPResult
 */
export interface DeleteIDPResult {
}
// @generated message type with reflection information, may provide speed optimized methods
class IDP$Type extends MessageType<IDP> {
    constructor() {
        super("api.IDP", [
            { no: 1, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/ },
            { no: 2, name: "Domain", kind: "scalar", jsonName: "Domain", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 3, name: "KCID", kind: "scalar", jsonName: "KCID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 4, name: "OrganisationID", kind: "scalar", jsonName: "OrganisationID", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value?: PartialMessage<IDP>): IDP {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iD = "";
        message.domain = "";
        message.kCID = "";
        message.organisationID = "";
        if (value !== undefined)
            reflectionMergePartial<IDP>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: IDP): IDP {
        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 /* string Domain = 2 [json_name = "Domain"];*/ 2:
                    message.domain = reader.string();
                    break;
                case /* string KCID = 3 [json_name = "KCID"];*/ 3:
                    message.kCID = reader.string();
                    break;
                case /* string OrganisationID = 4 [json_name = "OrganisationID"];*/ 4:
                    message.organisationID = 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: IDP, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ID = 1 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.iD);
        /* string Domain = 2 [json_name = "Domain"]; */
        if (message.domain !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.domain);
        /* string KCID = 3 [json_name = "KCID"]; */
        if (message.kCID !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.kCID);
        /* string OrganisationID = 4 [json_name = "OrganisationID"]; */
        if (message.organisationID !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.organisationID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.IDP
 */
export const IDP = new IDP$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteIDPRequest$Type extends MessageType<DeleteIDPRequest> {
    constructor() {
        super("api.DeleteIDPRequest", [
            { no: 1, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }
        ]);
    }
    create(value?: PartialMessage<DeleteIDPRequest>): DeleteIDPRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iD = "";
        if (value !== undefined)
            reflectionMergePartial<DeleteIDPRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteIDPRequest): DeleteIDPRequest {
        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: DeleteIDPRequest, 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.DeleteIDPRequest
 */
export const DeleteIDPRequest = new DeleteIDPRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GetIDPRequest$Type extends MessageType<GetIDPRequest> {
    constructor() {
        super("api.GetIDPRequest", [
            { no: 1, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } }
        ]);
    }
    create(value?: PartialMessage<GetIDPRequest>): GetIDPRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iD = "";
        if (value !== undefined)
            reflectionMergePartial<GetIDPRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetIDPRequest): GetIDPRequest {
        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: GetIDPRequest, 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.GetIDPRequest
 */
export const GetIDPRequest = new GetIDPRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateIDPRequest$Type extends MessageType<CreateIDPRequest> {
    constructor() {
        super("api.CreateIDPRequest", [
            { no: 2, name: "Domain", kind: "scalar", jsonName: "Domain", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 3, name: "KCID", kind: "scalar", jsonName: "KCID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 4, name: "OrganisationID", kind: "scalar", jsonName: "OrganisationID", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value?: PartialMessage<CreateIDPRequest>): CreateIDPRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.domain = "";
        message.kCID = "";
        message.organisationID = "";
        if (value !== undefined)
            reflectionMergePartial<CreateIDPRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateIDPRequest): CreateIDPRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string Domain = 2 [json_name = "Domain"];*/ 2:
                    message.domain = reader.string();
                    break;
                case /* string KCID = 3 [json_name = "KCID"];*/ 3:
                    message.kCID = reader.string();
                    break;
                case /* string OrganisationID = 4 [json_name = "OrganisationID"];*/ 4:
                    message.organisationID = 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: CreateIDPRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string Domain = 2 [json_name = "Domain"]; */
        if (message.domain !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.domain);
        /* string KCID = 3 [json_name = "KCID"]; */
        if (message.kCID !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.kCID);
        /* string OrganisationID = 4 [json_name = "OrganisationID"]; */
        if (message.organisationID !== "")
            writer.tag(4, WireType.LengthDelimited).string(message.organisationID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateIDPRequest
 */
export const CreateIDPRequest = new CreateIDPRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UpdateIDPRequest$Type extends MessageType<UpdateIDPRequest> {
    constructor() {
        super("api.UpdateIDPRequest", [
            { no: 1, name: "ID", kind: "scalar", jsonName: "ID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 2, name: "KCID", kind: "scalar", jsonName: "KCID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } } } },
            { no: 3, name: "OrganisationID", kind: "scalar", jsonName: "OrganisationID", T: 9 /*ScalarType.STRING*/ }
        ]);
    }
    create(value?: PartialMessage<UpdateIDPRequest>): UpdateIDPRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iD = "";
        message.kCID = "";
        message.organisationID = "";
        if (value !== undefined)
            reflectionMergePartial<UpdateIDPRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateIDPRequest): UpdateIDPRequest {
        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 /* string KCID = 2 [json_name = "KCID"];*/ 2:
                    message.kCID = reader.string();
                    break;
                case /* string OrganisationID = 3 [json_name = "OrganisationID"];*/ 3:
                    message.organisationID = 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: UpdateIDPRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ID = 1 [json_name = "ID"]; */
        if (message.iD !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.iD);
        /* string KCID = 2 [json_name = "KCID"]; */
        if (message.kCID !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.kCID);
        /* string OrganisationID = 3 [json_name = "OrganisationID"]; */
        if (message.organisationID !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.organisationID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.UpdateIDPRequest
 */
export const UpdateIDPRequest = new UpdateIDPRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListIDPRequest$Type extends MessageType<ListIDPRequest> {
    constructor() {
        super("api.ListIDPRequest", []);
    }
    create(value?: PartialMessage<ListIDPRequest>): ListIDPRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<ListIDPRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListIDPRequest): ListIDPRequest {
        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: ListIDPRequest, 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.ListIDPRequest
 */
export const ListIDPRequest = new ListIDPRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateIDPResult$Type extends MessageType<CreateIDPResult> {
    constructor() {
        super("api.CreateIDPResult", [
            { no: 1, name: "Result", kind: "message", jsonName: "Result", T: () => IDP }
        ]);
    }
    create(value?: PartialMessage<CreateIDPResult>): CreateIDPResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<CreateIDPResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateIDPResult): CreateIDPResult {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.IDP Result = 1 [json_name = "Result"];*/ 1:
                    message.result = IDP.internalBinaryRead(reader, reader.uint32(), options, message.result);
                    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: CreateIDPResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.IDP Result = 1 [json_name = "Result"]; */
        if (message.result)
            IDP.internalBinaryWrite(message.result, 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.CreateIDPResult
 */
export const CreateIDPResult = new CreateIDPResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class UpdateIDPResult$Type extends MessageType<UpdateIDPResult> {
    constructor() {
        super("api.UpdateIDPResult", [
            { no: 1, name: "Result", kind: "message", jsonName: "Result", T: () => IDP }
        ]);
    }
    create(value?: PartialMessage<UpdateIDPResult>): UpdateIDPResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<UpdateIDPResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateIDPResult): UpdateIDPResult {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.IDP Result = 1 [json_name = "Result"];*/ 1:
                    message.result = IDP.internalBinaryRead(reader, reader.uint32(), options, message.result);
                    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: UpdateIDPResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.IDP Result = 1 [json_name = "Result"]; */
        if (message.result)
            IDP.internalBinaryWrite(message.result, 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.UpdateIDPResult
 */
export const UpdateIDPResult = new UpdateIDPResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class GetIDPResult$Type extends MessageType<GetIDPResult> {
    constructor() {
        super("api.GetIDPResult", [
            { no: 1, name: "Result", kind: "message", jsonName: "Result", T: () => IDP }
        ]);
    }
    create(value?: PartialMessage<GetIDPResult>): GetIDPResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<GetIDPResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetIDPResult): GetIDPResult {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* api.IDP Result = 1 [json_name = "Result"];*/ 1:
                    message.result = IDP.internalBinaryRead(reader, reader.uint32(), options, message.result);
                    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: GetIDPResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* api.IDP Result = 1 [json_name = "Result"]; */
        if (message.result)
            IDP.internalBinaryWrite(message.result, 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.GetIDPResult
 */
export const GetIDPResult = new GetIDPResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class ListIDPResult$Type extends MessageType<ListIDPResult> {
    constructor() {
        super("api.ListIDPResult", [
            { no: 1, name: "IDPs", kind: "message", jsonName: "IDPs", repeat: 1 /*RepeatType.PACKED*/, T: () => IDP }
        ]);
    }
    create(value?: PartialMessage<ListIDPResult>): ListIDPResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.iDPs = [];
        if (value !== undefined)
            reflectionMergePartial<ListIDPResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListIDPResult): ListIDPResult {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* repeated api.IDP IDPs = 1 [json_name = "IDPs"];*/ 1:
                    message.iDPs.push(IDP.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: ListIDPResult, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* repeated api.IDP IDPs = 1 [json_name = "IDPs"]; */
        for (let i = 0; i < message.iDPs.length; i++)
            IDP.internalBinaryWrite(message.iDPs[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.ListIDPResult
 */
export const ListIDPResult = new ListIDPResult$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteIDPResult$Type extends MessageType<DeleteIDPResult> {
    constructor() {
        super("api.DeleteIDPResult", []);
    }
    create(value?: PartialMessage<DeleteIDPResult>): DeleteIDPResult {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteIDPResult>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteIDPResult): DeleteIDPResult {
        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: DeleteIDPResult, 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.DeleteIDPResult
 */
export const DeleteIDPResult = new DeleteIDPResult$Type();
/**
 * @generated ServiceType for protobuf service api.IDPService
 */
export const IDPService = new ServiceType("api.IDPService", [
    { name: "Get", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Admin IDP"], description: "Get" }, "api.rscType": "Platform", "api.roles": "Platform.IDP", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: GetIDPRequest, O: GetIDPResult },
    { name: "Create", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Admin IDP"], description: "Create" }, "api.rscType": "Platform", "api.roles": "", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: CreateIDPRequest, O: CreateIDPResult },
    { name: "Update", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Admin IDP"], description: "Update" }, "api.rscType": "Platform", "api.roles": "", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: UpdateIDPRequest, O: UpdateIDPResult },
    { name: "Delete", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Admin IDP"], description: "Delete" }, "api.rscType": "Platform", "api.roles": "", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: DeleteIDPRequest, O: DeleteIDPResult },
    { name: "List", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["Admin IDP"], description: "List" }, "api.rscType": "Platform", "api.roles": "Platform.IDP", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: ListIDPRequest, O: ListIDPResult }
], { "api.k8sService": "organisation-server", "api.roleManager": true, "api.resourceManager": true });
