// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "user-attributes.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { UserAttributesService } from "./user-attributes";
import type { DeleteForProjectUserAttributesResult } from "./user-attributes";
import type { DeleteForProjectUserAttributesRequest } from "./user-attributes";
import type { ListUserAttributesResult } from "./user-attributes";
import type { ListUserAttributesRequest } from "./user-attributes";
import type { DeleteUserAttributesResult } from "./user-attributes";
import type { DeleteUserAttributesRequest } from "./user-attributes";
import type { PutUserAttributesResult } from "./user-attributes";
import type { PutUserAttributesRequest } from "./user-attributes";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { GetUserAttributesResult } from "./user-attributes";
import type { GetUserAttributesRequest } from "./user-attributes";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.UserAttributesService
 */
export interface IUserAttributesServiceClient {
    /**
     * @generated from protobuf rpc: Get(api.GetUserAttributesRequest) returns (api.GetUserAttributesResult);
     */
    get(input: GetUserAttributesRequest, options?: RpcOptions): UnaryCall<GetUserAttributesRequest, GetUserAttributesResult>;
    /**
     * @generated from protobuf rpc: Put(api.PutUserAttributesRequest) returns (api.PutUserAttributesResult);
     */
    put(input: PutUserAttributesRequest, options?: RpcOptions): UnaryCall<PutUserAttributesRequest, PutUserAttributesResult>;
    /**
     * @generated from protobuf rpc: Delete(api.DeleteUserAttributesRequest) returns (api.DeleteUserAttributesResult);
     */
    delete(input: DeleteUserAttributesRequest, options?: RpcOptions): UnaryCall<DeleteUserAttributesRequest, DeleteUserAttributesResult>;
    /**
     * @generated from protobuf rpc: List(api.ListUserAttributesRequest) returns (api.ListUserAttributesResult);
     */
    list(input: ListUserAttributesRequest, options?: RpcOptions): UnaryCall<ListUserAttributesRequest, ListUserAttributesResult>;
    /**
     * @generated from protobuf rpc: DeleteForProject(api.DeleteForProjectUserAttributesRequest) returns (api.DeleteForProjectUserAttributesResult);
     */
    deleteForProject(input: DeleteForProjectUserAttributesRequest, options?: RpcOptions): UnaryCall<DeleteForProjectUserAttributesRequest, DeleteForProjectUserAttributesResult>;
}
/**
 * @generated from protobuf service api.UserAttributesService
 */
export class UserAttributesServiceClient implements IUserAttributesServiceClient, ServiceInfo {
    typeName = UserAttributesService.typeName;
    methods = UserAttributesService.methods;
    options = UserAttributesService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: Get(api.GetUserAttributesRequest) returns (api.GetUserAttributesResult);
     */
    get(input: GetUserAttributesRequest, options?: RpcOptions): UnaryCall<GetUserAttributesRequest, GetUserAttributesResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetUserAttributesRequest, GetUserAttributesResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Put(api.PutUserAttributesRequest) returns (api.PutUserAttributesResult);
     */
    put(input: PutUserAttributesRequest, options?: RpcOptions): UnaryCall<PutUserAttributesRequest, PutUserAttributesResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<PutUserAttributesRequest, PutUserAttributesResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Delete(api.DeleteUserAttributesRequest) returns (api.DeleteUserAttributesResult);
     */
    delete(input: DeleteUserAttributesRequest, options?: RpcOptions): UnaryCall<DeleteUserAttributesRequest, DeleteUserAttributesResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteUserAttributesRequest, DeleteUserAttributesResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: List(api.ListUserAttributesRequest) returns (api.ListUserAttributesResult);
     */
    list(input: ListUserAttributesRequest, options?: RpcOptions): UnaryCall<ListUserAttributesRequest, ListUserAttributesResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListUserAttributesRequest, ListUserAttributesResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteForProject(api.DeleteForProjectUserAttributesRequest) returns (api.DeleteForProjectUserAttributesResult);
     */
    deleteForProject(input: DeleteForProjectUserAttributesRequest, options?: RpcOptions): UnaryCall<DeleteForProjectUserAttributesRequest, DeleteForProjectUserAttributesResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteForProjectUserAttributesRequest, DeleteForProjectUserAttributesResult>("unary", this._transport, method, opt, input);
    }
}
