// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "module.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { ModuleService } from "./module";
import type { IsAPIActivatedResponse } from "./module";
import type { IsAPIActivatedRequest } from "./module";
import type { ListResourceModulesResponse } from "./module";
import type { ListResourceModulesRequest } from "./module";
import type { SetResourceModulesResponse } from "./module";
import type { SetResourceModulesRequest } from "./module";
import type { SetProjectModulesResponse } from "./module";
import type { SetProjectModulesRequest } from "./module";
import type { SetOrganisationModulesResponse } from "./module";
import type { SetOrganisationModulesRequest } from "./module";
import type { DeleteModuleResponse } from "./module";
import type { DeleteModuleRequest } from "./module";
import type { CreateModuleResponse } from "./module";
import type { CreateModuleRequest } from "./module";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { ListModulesResponse } from "./module";
import type { ListModulesRequest } from "./module";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.ModuleService
 */
export interface IModuleServiceClient {
    /**
     * @generated from protobuf rpc: List(api.ListModulesRequest) returns (api.ListModulesResponse);
     */
    list(input: ListModulesRequest, options?: RpcOptions): UnaryCall<ListModulesRequest, ListModulesResponse>;
    /**
     * @generated from protobuf rpc: Create(api.CreateModuleRequest) returns (api.CreateModuleResponse);
     */
    create(input: CreateModuleRequest, options?: RpcOptions): UnaryCall<CreateModuleRequest, CreateModuleResponse>;
    /**
     * @generated from protobuf rpc: Delete(api.DeleteModuleRequest) returns (api.DeleteModuleResponse);
     */
    delete(input: DeleteModuleRequest, options?: RpcOptions): UnaryCall<DeleteModuleRequest, DeleteModuleResponse>;
    /**
     * @generated from protobuf rpc: SetOrganisationModules(api.SetOrganisationModulesRequest) returns (api.SetOrganisationModulesResponse);
     */
    setOrganisationModules(input: SetOrganisationModulesRequest, options?: RpcOptions): UnaryCall<SetOrganisationModulesRequest, SetOrganisationModulesResponse>;
    /**
     * @generated from protobuf rpc: SetProjectModules(api.SetProjectModulesRequest) returns (api.SetProjectModulesResponse);
     */
    setProjectModules(input: SetProjectModulesRequest, options?: RpcOptions): UnaryCall<SetProjectModulesRequest, SetProjectModulesResponse>;
    /**
     * @generated from protobuf rpc: SetResourceModules(api.SetResourceModulesRequest) returns (api.SetResourceModulesResponse);
     */
    setResourceModules(input: SetResourceModulesRequest, options?: RpcOptions): UnaryCall<SetResourceModulesRequest, SetResourceModulesResponse>;
    /**
     * @generated from protobuf rpc: ListResourceModules(api.ListResourceModulesRequest) returns (api.ListResourceModulesResponse);
     */
    listResourceModules(input: ListResourceModulesRequest, options?: RpcOptions): UnaryCall<ListResourceModulesRequest, ListResourceModulesResponse>;
    /**
     * @generated from protobuf rpc: IsAPIActivated(api.IsAPIActivatedRequest) returns (api.IsAPIActivatedResponse);
     */
    isAPIActivated(input: IsAPIActivatedRequest, options?: RpcOptions): UnaryCall<IsAPIActivatedRequest, IsAPIActivatedResponse>;
}
/**
 * @generated from protobuf service api.ModuleService
 */
export class ModuleServiceClient implements IModuleServiceClient, ServiceInfo {
    typeName = ModuleService.typeName;
    methods = ModuleService.methods;
    options = ModuleService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: List(api.ListModulesRequest) returns (api.ListModulesResponse);
     */
    list(input: ListModulesRequest, options?: RpcOptions): UnaryCall<ListModulesRequest, ListModulesResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListModulesRequest, ListModulesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Create(api.CreateModuleRequest) returns (api.CreateModuleResponse);
     */
    create(input: CreateModuleRequest, options?: RpcOptions): UnaryCall<CreateModuleRequest, CreateModuleResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateModuleRequest, CreateModuleResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Delete(api.DeleteModuleRequest) returns (api.DeleteModuleResponse);
     */
    delete(input: DeleteModuleRequest, options?: RpcOptions): UnaryCall<DeleteModuleRequest, DeleteModuleResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteModuleRequest, DeleteModuleResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SetOrganisationModules(api.SetOrganisationModulesRequest) returns (api.SetOrganisationModulesResponse);
     */
    setOrganisationModules(input: SetOrganisationModulesRequest, options?: RpcOptions): UnaryCall<SetOrganisationModulesRequest, SetOrganisationModulesResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<SetOrganisationModulesRequest, SetOrganisationModulesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SetProjectModules(api.SetProjectModulesRequest) returns (api.SetProjectModulesResponse);
     */
    setProjectModules(input: SetProjectModulesRequest, options?: RpcOptions): UnaryCall<SetProjectModulesRequest, SetProjectModulesResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<SetProjectModulesRequest, SetProjectModulesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SetResourceModules(api.SetResourceModulesRequest) returns (api.SetResourceModulesResponse);
     */
    setResourceModules(input: SetResourceModulesRequest, options?: RpcOptions): UnaryCall<SetResourceModulesRequest, SetResourceModulesResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<SetResourceModulesRequest, SetResourceModulesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: ListResourceModules(api.ListResourceModulesRequest) returns (api.ListResourceModulesResponse);
     */
    listResourceModules(input: ListResourceModulesRequest, options?: RpcOptions): UnaryCall<ListResourceModulesRequest, ListResourceModulesResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListResourceModulesRequest, ListResourceModulesResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: IsAPIActivated(api.IsAPIActivatedRequest) returns (api.IsAPIActivatedResponse);
     */
    isAPIActivated(input: IsAPIActivatedRequest, options?: RpcOptions): UnaryCall<IsAPIActivatedRequest, IsAPIActivatedResponse> {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<IsAPIActivatedRequest, IsAPIActivatedResponse>("unary", this._transport, method, opt, input);
    }
}
