// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "restrictionLinks.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { RestrictionLinkService } from "./restrictionLinks";
import type { DeleteForProjectRestrictionLinkResponse } from "./restrictionLinks";
import type { DeleteForProjectRestrictionLinkRequest } from "./restrictionLinks";
import type { SetUserActorsResponse } from "./restrictionLinks";
import type { SetUserActorsRequest } from "./restrictionLinks";
import type { ListRestrictionLinksResponse } from "./restrictionLinks";
import type { ListRestrictionLinksRequest } from "./restrictionLinks";
import type { GetRestrictionLinkResponse } from "./restrictionLinks";
import type { GetRestrictionLinkRequest } from "./restrictionLinks";
import type { DeleteRestrictionLinkResponse } from "./restrictionLinks";
import type { DeleteRestrictionLinkRequest } from "./restrictionLinks";
import type { UpdateRestrictionLinkResponse } from "./restrictionLinks";
import type { UpdateRestrictionLinkRequest } from "./restrictionLinks";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateRestrictionLinkResponse } from "./restrictionLinks";
import type { CreateRestrictionLinkRequest } from "./restrictionLinks";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.RestrictionLinkService
 */
export interface IRestrictionLinkServiceClient {
    /**
     * @generated from protobuf rpc: Create(api.CreateRestrictionLinkRequest) returns (api.CreateRestrictionLinkResponse);
     */
    create(input: CreateRestrictionLinkRequest, options?: RpcOptions): UnaryCall<CreateRestrictionLinkRequest, CreateRestrictionLinkResponse>;
    /**
     * @generated from protobuf rpc: Update(api.UpdateRestrictionLinkRequest) returns (api.UpdateRestrictionLinkResponse);
     */
    update(input: UpdateRestrictionLinkRequest, options?: RpcOptions): UnaryCall<UpdateRestrictionLinkRequest, UpdateRestrictionLinkResponse>;
    /**
     * @generated from protobuf rpc: Delete(api.DeleteRestrictionLinkRequest) returns (api.DeleteRestrictionLinkResponse);
     */
    delete(input: DeleteRestrictionLinkRequest, options?: RpcOptions): UnaryCall<DeleteRestrictionLinkRequest, DeleteRestrictionLinkResponse>;
    /**
     * @generated from protobuf rpc: Get(api.GetRestrictionLinkRequest) returns (api.GetRestrictionLinkResponse);
     */
    get(input: GetRestrictionLinkRequest, options?: RpcOptions): UnaryCall<GetRestrictionLinkRequest, GetRestrictionLinkResponse>;
    /**
     * @generated from protobuf rpc: List(api.ListRestrictionLinksRequest) returns (api.ListRestrictionLinksResponse);
     */
    list(input: ListRestrictionLinksRequest, options?: RpcOptions): UnaryCall<ListRestrictionLinksRequest, ListRestrictionLinksResponse>;
    /**
     * @generated from protobuf rpc: SetUserActors(api.SetUserActorsRequest) returns (api.SetUserActorsResponse);
     */
    setUserActors(input: SetUserActorsRequest, options?: RpcOptions): UnaryCall<SetUserActorsRequest, SetUserActorsResponse>;
    /**
     * @generated from protobuf rpc: DeleteForProject(api.DeleteForProjectRestrictionLinkRequest) returns (api.DeleteForProjectRestrictionLinkResponse);
     */
    deleteForProject(input: DeleteForProjectRestrictionLinkRequest, options?: RpcOptions): UnaryCall<DeleteForProjectRestrictionLinkRequest, DeleteForProjectRestrictionLinkResponse>;
}
/**
 * @generated from protobuf service api.RestrictionLinkService
 */
export class RestrictionLinkServiceClient implements IRestrictionLinkServiceClient, ServiceInfo {
    typeName = RestrictionLinkService.typeName;
    methods = RestrictionLinkService.methods;
    options = RestrictionLinkService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: Create(api.CreateRestrictionLinkRequest) returns (api.CreateRestrictionLinkResponse);
     */
    create(input: CreateRestrictionLinkRequest, options?: RpcOptions): UnaryCall<CreateRestrictionLinkRequest, CreateRestrictionLinkResponse> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateRestrictionLinkRequest, CreateRestrictionLinkResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Update(api.UpdateRestrictionLinkRequest) returns (api.UpdateRestrictionLinkResponse);
     */
    update(input: UpdateRestrictionLinkRequest, options?: RpcOptions): UnaryCall<UpdateRestrictionLinkRequest, UpdateRestrictionLinkResponse> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<UpdateRestrictionLinkRequest, UpdateRestrictionLinkResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Delete(api.DeleteRestrictionLinkRequest) returns (api.DeleteRestrictionLinkResponse);
     */
    delete(input: DeleteRestrictionLinkRequest, options?: RpcOptions): UnaryCall<DeleteRestrictionLinkRequest, DeleteRestrictionLinkResponse> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteRestrictionLinkRequest, DeleteRestrictionLinkResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Get(api.GetRestrictionLinkRequest) returns (api.GetRestrictionLinkResponse);
     */
    get(input: GetRestrictionLinkRequest, options?: RpcOptions): UnaryCall<GetRestrictionLinkRequest, GetRestrictionLinkResponse> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetRestrictionLinkRequest, GetRestrictionLinkResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: List(api.ListRestrictionLinksRequest) returns (api.ListRestrictionLinksResponse);
     */
    list(input: ListRestrictionLinksRequest, options?: RpcOptions): UnaryCall<ListRestrictionLinksRequest, ListRestrictionLinksResponse> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListRestrictionLinksRequest, ListRestrictionLinksResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: SetUserActors(api.SetUserActorsRequest) returns (api.SetUserActorsResponse);
     */
    setUserActors(input: SetUserActorsRequest, options?: RpcOptions): UnaryCall<SetUserActorsRequest, SetUserActorsResponse> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<SetUserActorsRequest, SetUserActorsResponse>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteForProject(api.DeleteForProjectRestrictionLinkRequest) returns (api.DeleteForProjectRestrictionLinkResponse);
     */
    deleteForProject(input: DeleteForProjectRestrictionLinkRequest, options?: RpcOptions): UnaryCall<DeleteForProjectRestrictionLinkRequest, DeleteForProjectRestrictionLinkResponse> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteForProjectRestrictionLinkRequest, DeleteForProjectRestrictionLinkResponse>("unary", this._transport, method, opt, input);
    }
}
