// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "idp.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { IDPService } from "./idp";
import type { ListIDPResult } from "./idp";
import type { ListIDPRequest } from "./idp";
import type { DeleteIDPResult } from "./idp";
import type { DeleteIDPRequest } from "./idp";
import type { UpdateIDPResult } from "./idp";
import type { UpdateIDPRequest } from "./idp";
import type { CreateIDPResult } from "./idp";
import type { CreateIDPRequest } from "./idp";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { GetIDPResult } from "./idp";
import type { GetIDPRequest } from "./idp";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.IDPService
 */
export interface IIDPServiceClient {
    /**
     * @generated from protobuf rpc: Get(api.GetIDPRequest) returns (api.GetIDPResult);
     */
    get(input: GetIDPRequest, options?: RpcOptions): UnaryCall<GetIDPRequest, GetIDPResult>;
    /**
     * @generated from protobuf rpc: Create(api.CreateIDPRequest) returns (api.CreateIDPResult);
     */
    create(input: CreateIDPRequest, options?: RpcOptions): UnaryCall<CreateIDPRequest, CreateIDPResult>;
    /**
     * @generated from protobuf rpc: Update(api.UpdateIDPRequest) returns (api.UpdateIDPResult);
     */
    update(input: UpdateIDPRequest, options?: RpcOptions): UnaryCall<UpdateIDPRequest, UpdateIDPResult>;
    /**
     * @generated from protobuf rpc: Delete(api.DeleteIDPRequest) returns (api.DeleteIDPResult);
     */
    delete(input: DeleteIDPRequest, options?: RpcOptions): UnaryCall<DeleteIDPRequest, DeleteIDPResult>;
    /**
     * @generated from protobuf rpc: List(api.ListIDPRequest) returns (api.ListIDPResult);
     */
    list(input: ListIDPRequest, options?: RpcOptions): UnaryCall<ListIDPRequest, ListIDPResult>;
}
/**
 * @generated from protobuf service api.IDPService
 */
export class IDPServiceClient implements IIDPServiceClient, ServiceInfo {
    typeName = IDPService.typeName;
    methods = IDPService.methods;
    options = IDPService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: Get(api.GetIDPRequest) returns (api.GetIDPResult);
     */
    get(input: GetIDPRequest, options?: RpcOptions): UnaryCall<GetIDPRequest, GetIDPResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetIDPRequest, GetIDPResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Create(api.CreateIDPRequest) returns (api.CreateIDPResult);
     */
    create(input: CreateIDPRequest, options?: RpcOptions): UnaryCall<CreateIDPRequest, CreateIDPResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateIDPRequest, CreateIDPResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Update(api.UpdateIDPRequest) returns (api.UpdateIDPResult);
     */
    update(input: UpdateIDPRequest, options?: RpcOptions): UnaryCall<UpdateIDPRequest, UpdateIDPResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<UpdateIDPRequest, UpdateIDPResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Delete(api.DeleteIDPRequest) returns (api.DeleteIDPResult);
     */
    delete(input: DeleteIDPRequest, options?: RpcOptions): UnaryCall<DeleteIDPRequest, DeleteIDPResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteIDPRequest, DeleteIDPResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: List(api.ListIDPRequest) returns (api.ListIDPResult);
     */
    list(input: ListIDPRequest, options?: RpcOptions): UnaryCall<ListIDPRequest, ListIDPResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListIDPRequest, ListIDPResult>("unary", this._transport, method, opt, input);
    }
}
