// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "opensearch.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { OpenSearchService } from "./opensearch";
import type { DeleteOpenSearchProjectResponse } from "./opensearch";
import type { DeleteOpenSearchProjectRequest } from "./opensearch";
import type { CreateOpenSearchProjectRoleResponse } from "./opensearch";
import type { CreateOpenSearchProjectRoleRequest } from "./opensearch";
import type { CreateOpenSearchTenantResponse } from "./opensearch";
import type { CreateOpenSearchTenantRequest } from "./opensearch";
import type { DeleteOpenSearchUserResponse } from "./opensearch";
import type { DeleteOpenSearchUserRequest } from "./opensearch";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateOpenSearchUserResponse } from "./opensearch";
import type { CreateOpenSearchUserRequest } from "./opensearch";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.OpenSearchService
 */
export interface IOpenSearchServiceClient {
    /**
     * @generated from protobuf rpc: CreateUser(api.CreateOpenSearchUserRequest) returns (api.CreateOpenSearchUserResponse);
     */
    createUser(input: CreateOpenSearchUserRequest, options?: RpcOptions): UnaryCall<CreateOpenSearchUserRequest, CreateOpenSearchUserResponse>;
    /**
     * @generated from protobuf rpc: DeleteUser(api.DeleteOpenSearchUserRequest) returns (api.DeleteOpenSearchUserResponse);
     */
    deleteUser(input: DeleteOpenSearchUserRequest, options?: RpcOptions): UnaryCall<DeleteOpenSearchUserRequest, DeleteOpenSearchUserResponse>;
    /**
     * @generated from protobuf rpc: CreateTenant(api.CreateOpenSearchTenantRequest) returns (api.CreateOpenSearchTenantResponse);
     */
    createTenant(input: CreateOpenSearchTenantRequest, options?: RpcOptions): UnaryCall<CreateOpenSearchTenantRequest, CreateOpenSearchTenantResponse>;
    /**
     * @generated from protobuf rpc: CreateProjectRole(api.CreateOpenSearchProjectRoleRequest) returns (api.CreateOpenSearchProjectRoleResponse);
     */
    createProjectRole(input: CreateOpenSearchProjectRoleRequest, options?: RpcOptions): UnaryCall<CreateOpenSearchProjectRoleRequest, CreateOpenSearchProjectRoleResponse>;
    /**
     * @generated from protobuf rpc: DeleteProject(api.DeleteOpenSearchProjectRequest) returns (api.DeleteOpenSearchProjectResponse);
     */
    deleteProject(input: DeleteOpenSearchProjectRequest, options?: RpcOptions): UnaryCall<DeleteOpenSearchProjectRequest, DeleteOpenSearchProjectResponse>;
}
/**
 * @generated from protobuf service api.OpenSearchService
 */
export class OpenSearchServiceClient implements IOpenSearchServiceClient, ServiceInfo {
    typeName = OpenSearchService.typeName;
    methods = OpenSearchService.methods;
    options = OpenSearchService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: CreateUser(api.CreateOpenSearchUserRequest) returns (api.CreateOpenSearchUserResponse);
     */
    createUser(input: CreateOpenSearchUserRequest, options?: RpcOptions): UnaryCall<CreateOpenSearchUserRequest, CreateOpenSearchUserResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateOpenSearchUserRequest, CreateOpenSearchUserResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteUser(api.DeleteOpenSearchUserRequest) returns (api.DeleteOpenSearchUserResponse);
     */
    deleteUser(input: DeleteOpenSearchUserRequest, options?: RpcOptions): UnaryCall<DeleteOpenSearchUserRequest, DeleteOpenSearchUserResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteOpenSearchUserRequest, DeleteOpenSearchUserResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: CreateTenant(api.CreateOpenSearchTenantRequest) returns (api.CreateOpenSearchTenantResponse);
     */
    createTenant(input: CreateOpenSearchTenantRequest, options?: RpcOptions): UnaryCall<CreateOpenSearchTenantRequest, CreateOpenSearchTenantResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateOpenSearchTenantRequest, CreateOpenSearchTenantResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: CreateProjectRole(api.CreateOpenSearchProjectRoleRequest) returns (api.CreateOpenSearchProjectRoleResponse);
     */
    createProjectRole(input: CreateOpenSearchProjectRoleRequest, options?: RpcOptions): UnaryCall<CreateOpenSearchProjectRoleRequest, CreateOpenSearchProjectRoleResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateOpenSearchProjectRoleRequest, CreateOpenSearchProjectRoleResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteProject(api.DeleteOpenSearchProjectRequest) returns (api.DeleteOpenSearchProjectResponse);
     */
    deleteProject(input: DeleteOpenSearchProjectRequest, options?: RpcOptions): UnaryCall<DeleteOpenSearchProjectRequest, DeleteOpenSearchProjectResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteOpenSearchProjectRequest, DeleteOpenSearchProjectResponse>("unary", this._transport, method, opt, input);
    }
}
