// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "opensearch.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.CreateOpenSearchUserRequest
 */
export interface CreateOpenSearchUserRequest {
    /**
     * @generated from protobuf field: string PartnerAppID = 1 [json_name = "PartnerAppID"];
     */
    partnerAppID: string;
}
/**
 * @generated from protobuf message api.CreateOpenSearchUserResponse
 */
export interface CreateOpenSearchUserResponse {
    /**
     * @generated from protobuf field: string Username = 1 [json_name = "Username"];
     */
    username: string;
    /**
     * @generated from protobuf field: string Password = 2 [json_name = "Password"];
     */
    password: string;
    /**
     * @generated from protobuf field: string Index = 3 [json_name = "Index"];
     */
    index: string;
}
/**
 * @generated from protobuf message api.DeleteOpenSearchUserRequest
 */
export interface DeleteOpenSearchUserRequest {
    /**
     * @generated from protobuf field: string PartnerAppID = 1 [json_name = "PartnerAppID"];
     */
    partnerAppID: string;
}
/**
 * @generated from protobuf message api.DeleteOpenSearchUserResponse
 */
export interface DeleteOpenSearchUserResponse {
}
/**
 * @generated from protobuf message api.CreateOpenSearchTenantRequest
 */
export interface CreateOpenSearchTenantRequest {
    /**
     * @generated from protobuf field: string Name = 1 [json_name = "Name"];
     */
    name: string;
    /**
     * @generated from protobuf field: string DashboardJSON = 2 [json_name = "DashboardJSON"];
     */
    dashboardJSON: string;
    /**
     * @generated from protobuf field: string MappingsJSON = 3 [json_name = "MappingsJSON"];
     */
    mappingsJSON: string;
}
/**
 * @generated from protobuf message api.CreateOpenSearchTenantResponse
 */
export interface CreateOpenSearchTenantResponse {
}
/**
 * @generated from protobuf message api.CreateOpenSearchProjectRoleRequest
 */
export interface CreateOpenSearchProjectRoleRequest {
    /**
     * @generated from protobuf field: string ProjectID = 1 [json_name = "ProjectID"];
     */
    projectID: string;
}
/**
 * @generated from protobuf message api.CreateOpenSearchProjectRoleResponse
 */
export interface CreateOpenSearchProjectRoleResponse {
}
/**
 * @generated from protobuf message api.DeleteOpenSearchProjectRequest
 */
export interface DeleteOpenSearchProjectRequest {
    /**
     * @generated from protobuf field: string ProjectID = 1 [json_name = "ProjectID"];
     */
    projectID: string;
}
/**
 * @generated from protobuf message api.DeleteOpenSearchProjectResponse
 */
export interface DeleteOpenSearchProjectResponse {
}
// @generated message type with reflection information, may provide speed optimized methods
class CreateOpenSearchUserRequest$Type extends MessageType<CreateOpenSearchUserRequest> {
    constructor() {
        super("api.CreateOpenSearchUserRequest", [
            { no: 1, name: "PartnerAppID", kind: "scalar", jsonName: "PartnerAppID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "PartnerAppID for which the user will be created." } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["PartnerAppID"] } } });
    }
    create(value?: PartialMessage<CreateOpenSearchUserRequest>): CreateOpenSearchUserRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.partnerAppID = "";
        if (value !== undefined)
            reflectionMergePartial<CreateOpenSearchUserRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOpenSearchUserRequest): CreateOpenSearchUserRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string PartnerAppID = 1 [json_name = "PartnerAppID"];*/ 1:
                    message.partnerAppID = 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: CreateOpenSearchUserRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string PartnerAppID = 1 [json_name = "PartnerAppID"]; */
        if (message.partnerAppID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.partnerAppID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateOpenSearchUserRequest
 */
export const CreateOpenSearchUserRequest = new CreateOpenSearchUserRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateOpenSearchUserResponse$Type extends MessageType<CreateOpenSearchUserResponse> {
    constructor() {
        super("api.CreateOpenSearchUserResponse", [
            { no: 1, name: "Username", kind: "scalar", jsonName: "Username", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "The internal user's username dedicated for the given PartnerAppID. It is expected to be the same as the PartnerAppID." } } },
            { no: 2, name: "Password", kind: "scalar", jsonName: "Password", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "The internal user's password dedicated for the given PartnerAppID." } } },
            { no: 3, name: "Index", kind: "scalar", jsonName: "Index", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "The index on which the user will have access. It is related to the given PartnerAppID, for example for 'mypartnerapp' the expected index will be 'mypartnerapp_' meaning the user has access to 'mypartnerapp_*'." } } }
        ]);
    }
    create(value?: PartialMessage<CreateOpenSearchUserResponse>): CreateOpenSearchUserResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.username = "";
        message.password = "";
        message.index = "";
        if (value !== undefined)
            reflectionMergePartial<CreateOpenSearchUserResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOpenSearchUserResponse): CreateOpenSearchUserResponse {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string Username = 1 [json_name = "Username"];*/ 1:
                    message.username = reader.string();
                    break;
                case /* string Password = 2 [json_name = "Password"];*/ 2:
                    message.password = reader.string();
                    break;
                case /* string Index = 3 [json_name = "Index"];*/ 3:
                    message.index = 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: CreateOpenSearchUserResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string Username = 1 [json_name = "Username"]; */
        if (message.username !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.username);
        /* string Password = 2 [json_name = "Password"]; */
        if (message.password !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.password);
        /* string Index = 3 [json_name = "Index"]; */
        if (message.index !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.index);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateOpenSearchUserResponse
 */
export const CreateOpenSearchUserResponse = new CreateOpenSearchUserResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteOpenSearchUserRequest$Type extends MessageType<DeleteOpenSearchUserRequest> {
    constructor() {
        super("api.DeleteOpenSearchUserRequest", [
            { no: 1, name: "PartnerAppID", kind: "scalar", jsonName: "PartnerAppID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "PartnerAppID for which the user will be created." } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["PartnerAppID"] } } });
    }
    create(value?: PartialMessage<DeleteOpenSearchUserRequest>): DeleteOpenSearchUserRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.partnerAppID = "";
        if (value !== undefined)
            reflectionMergePartial<DeleteOpenSearchUserRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteOpenSearchUserRequest): DeleteOpenSearchUserRequest {
        let message = target ?? this.create(), end = reader.pos + length;
        while (reader.pos < end) {
            let [fieldNo, wireType] = reader.tag();
            switch (fieldNo) {
                case /* string PartnerAppID = 1 [json_name = "PartnerAppID"];*/ 1:
                    message.partnerAppID = 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: DeleteOpenSearchUserRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string PartnerAppID = 1 [json_name = "PartnerAppID"]; */
        if (message.partnerAppID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.partnerAppID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteOpenSearchUserRequest
 */
export const DeleteOpenSearchUserRequest = new DeleteOpenSearchUserRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteOpenSearchUserResponse$Type extends MessageType<DeleteOpenSearchUserResponse> {
    constructor() {
        super("api.DeleteOpenSearchUserResponse", []);
    }
    create(value?: PartialMessage<DeleteOpenSearchUserResponse>): DeleteOpenSearchUserResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteOpenSearchUserResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteOpenSearchUserResponse): DeleteOpenSearchUserResponse {
        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: DeleteOpenSearchUserResponse, 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.DeleteOpenSearchUserResponse
 */
export const DeleteOpenSearchUserResponse = new DeleteOpenSearchUserResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateOpenSearchTenantRequest$Type extends MessageType<CreateOpenSearchTenantRequest> {
    constructor() {
        super("api.CreateOpenSearchTenantRequest", [
            { no: 1, name: "Name", kind: "scalar", jsonName: "Name", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Tenant's name. This will be used as the index template name. For example if the name is 'mytenant', the index template will be 'mytenant_template' with an index pattern as '*_mytenant' (if mappings are provided)." } } },
            { no: 2, name: "DashboardJSON", kind: "scalar", jsonName: "DashboardJSON", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Exported dashboard JSON from Opensearch that will be created under the given tenant. If not provided, no dashboard will be created." } } },
            { no: 3, name: "MappingsJSON", kind: "scalar", jsonName: "MappingsJSON", T: 9 /*ScalarType.STRING*/, options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "Mappings used for the tenant's index template. If not provided, no index template will be created. See https://opensearch.org/docs/latest/opensearch/mappings/ for correct mappings format." } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["Name"] } } });
    }
    create(value?: PartialMessage<CreateOpenSearchTenantRequest>): CreateOpenSearchTenantRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.name = "";
        message.dashboardJSON = "";
        message.mappingsJSON = "";
        if (value !== undefined)
            reflectionMergePartial<CreateOpenSearchTenantRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOpenSearchTenantRequest): CreateOpenSearchTenantRequest {
        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 /* string DashboardJSON = 2 [json_name = "DashboardJSON"];*/ 2:
                    message.dashboardJSON = reader.string();
                    break;
                case /* string MappingsJSON = 3 [json_name = "MappingsJSON"];*/ 3:
                    message.mappingsJSON = 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: CreateOpenSearchTenantRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string Name = 1 [json_name = "Name"]; */
        if (message.name !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.name);
        /* string DashboardJSON = 2 [json_name = "DashboardJSON"]; */
        if (message.dashboardJSON !== "")
            writer.tag(2, WireType.LengthDelimited).string(message.dashboardJSON);
        /* string MappingsJSON = 3 [json_name = "MappingsJSON"]; */
        if (message.mappingsJSON !== "")
            writer.tag(3, WireType.LengthDelimited).string(message.mappingsJSON);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateOpenSearchTenantRequest
 */
export const CreateOpenSearchTenantRequest = new CreateOpenSearchTenantRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateOpenSearchTenantResponse$Type extends MessageType<CreateOpenSearchTenantResponse> {
    constructor() {
        super("api.CreateOpenSearchTenantResponse", []);
    }
    create(value?: PartialMessage<CreateOpenSearchTenantResponse>): CreateOpenSearchTenantResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<CreateOpenSearchTenantResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOpenSearchTenantResponse): CreateOpenSearchTenantResponse {
        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: CreateOpenSearchTenantResponse, 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.CreateOpenSearchTenantResponse
 */
export const CreateOpenSearchTenantResponse = new CreateOpenSearchTenantResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateOpenSearchProjectRoleRequest$Type extends MessageType<CreateOpenSearchProjectRoleRequest> {
    constructor() {
        super("api.CreateOpenSearchProjectRoleRequest", [
            { no: 1, name: "ProjectID", kind: "scalar", jsonName: "ProjectID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "ProjectID for which the role will be created." } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ProjectID"] } } });
    }
    create(value?: PartialMessage<CreateOpenSearchProjectRoleRequest>): CreateOpenSearchProjectRoleRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.projectID = "";
        if (value !== undefined)
            reflectionMergePartial<CreateOpenSearchProjectRoleRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOpenSearchProjectRoleRequest): CreateOpenSearchProjectRoleRequest {
        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;
                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: CreateOpenSearchProjectRoleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ProjectID = 1 [json_name = "ProjectID"]; */
        if (message.projectID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.projectID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.CreateOpenSearchProjectRoleRequest
 */
export const CreateOpenSearchProjectRoleRequest = new CreateOpenSearchProjectRoleRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class CreateOpenSearchProjectRoleResponse$Type extends MessageType<CreateOpenSearchProjectRoleResponse> {
    constructor() {
        super("api.CreateOpenSearchProjectRoleResponse", []);
    }
    create(value?: PartialMessage<CreateOpenSearchProjectRoleResponse>): CreateOpenSearchProjectRoleResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<CreateOpenSearchProjectRoleResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateOpenSearchProjectRoleResponse): CreateOpenSearchProjectRoleResponse {
        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: CreateOpenSearchProjectRoleResponse, 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.CreateOpenSearchProjectRoleResponse
 */
export const CreateOpenSearchProjectRoleResponse = new CreateOpenSearchProjectRoleResponse$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteOpenSearchProjectRequest$Type extends MessageType<DeleteOpenSearchProjectRequest> {
    constructor() {
        super("api.DeleteOpenSearchProjectRequest", [
            { no: 1, name: "ProjectID", kind: "scalar", jsonName: "ProjectID", T: 9 /*ScalarType.STRING*/, options: { "validate.rules": { string: { minLen: "1" } }, "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_field": { description: "ProjectID for which the role will be deleted." } } }
        ], { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_schema": { jsonSchema: { required: ["ProjectID"] } } });
    }
    create(value?: PartialMessage<DeleteOpenSearchProjectRequest>): DeleteOpenSearchProjectRequest {
        const message = globalThis.Object.create((this.messagePrototype!));
        message.projectID = "";
        if (value !== undefined)
            reflectionMergePartial<DeleteOpenSearchProjectRequest>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteOpenSearchProjectRequest): DeleteOpenSearchProjectRequest {
        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;
                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: DeleteOpenSearchProjectRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
        /* string ProjectID = 1 [json_name = "ProjectID"]; */
        if (message.projectID !== "")
            writer.tag(1, WireType.LengthDelimited).string(message.projectID);
        let u = options.writeUnknownFields;
        if (u !== false)
            (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
        return writer;
    }
}
/**
 * @generated MessageType for protobuf message api.DeleteOpenSearchProjectRequest
 */
export const DeleteOpenSearchProjectRequest = new DeleteOpenSearchProjectRequest$Type();
// @generated message type with reflection information, may provide speed optimized methods
class DeleteOpenSearchProjectResponse$Type extends MessageType<DeleteOpenSearchProjectResponse> {
    constructor() {
        super("api.DeleteOpenSearchProjectResponse", []);
    }
    create(value?: PartialMessage<DeleteOpenSearchProjectResponse>): DeleteOpenSearchProjectResponse {
        const message = globalThis.Object.create((this.messagePrototype!));
        if (value !== undefined)
            reflectionMergePartial<DeleteOpenSearchProjectResponse>(this, message, value);
        return message;
    }
    internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteOpenSearchProjectResponse): DeleteOpenSearchProjectResponse {
        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: DeleteOpenSearchProjectResponse, 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.DeleteOpenSearchProjectResponse
 */
export const DeleteOpenSearchProjectResponse = new DeleteOpenSearchProjectResponse$Type();
/**
 * @generated ServiceType for protobuf service api.OpenSearchService
 */
export const OpenSearchService = new ServiceType("api.OpenSearchService", [
    { name: "CreateUser", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["OpenSearch"], description: "Creates the various OpenSearch resources required for a PartnerApp (user, tenant, role)", externalDocs: { description: "Find out more", url: "https://portal.dev.reflex-platform.com/" } }, "api.rscType": "Platform", "api.roles": "Platform.OpenSearch", "api.moduleID": "common", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: CreateOpenSearchUserRequest, O: CreateOpenSearchUserResponse },
    { name: "DeleteUser", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["OpenSearch"], description: "Deletes the various OpenSearch resources required for a PartnerApp", externalDocs: { description: "Find out more", url: "https://portal.dev.reflex-platform.com/" } }, "api.rscType": "Platform", "api.roles": "Platform.OpenSearch", "api.moduleID": "common", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: DeleteOpenSearchUserRequest, O: DeleteOpenSearchUserResponse },
    { name: "CreateTenant", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["OpenSearch"], description: "Creates the various OpenSearch resources required for a new Tenant (tenant, index template, index policy, role, dashboard)", externalDocs: { description: "Find out more", url: "https://portal.dev.reflex-platform.com/" } }, "api.rscType": "Platform", "api.roles": "", "api.moduleID": "common", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: CreateOpenSearchTenantRequest, O: CreateOpenSearchTenantResponse },
    { name: "CreateProjectRole", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["OpenSearch"], description: "Creates a role for a given project that will allow the user to access the project's index", externalDocs: { description: "Find out more", url: "https://portal.dev.reflex-platform.com/" } }, "api.rscType": "Platform", "api.roles": "Platform.OpenSearch", "api.moduleID": "common", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: CreateOpenSearchProjectRoleRequest, O: CreateOpenSearchProjectRoleResponse },
    { name: "DeleteProject", options: { "grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation": { tags: ["OpenSearch"], description: "Deletes the various OpenSearch resources required for a given project (indexes, roles)", externalDocs: { description: "Find out more", url: "https://portal.dev.reflex-platform.com/" } }, "api.rscType": "Platform", "api.roles": "Platform.OpenSearch", "api.moduleID": "common", "google.api.method_visibility": { restriction: "INTERNAL" } }, I: DeleteOpenSearchProjectRequest, O: DeleteOpenSearchProjectResponse }
], { "api.k8sService": "logger-server" });
