// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "billing.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { BillingService } from "./billing";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { GenerateResult } from "./billing";
import type { GenerateRequest } from "./billing";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.BillingService
 */
export interface IBillingServiceClient {
    /**
     * @generated from protobuf rpc: Generate(api.GenerateRequest) returns (api.GenerateResult);
     */
    generate(input: GenerateRequest, options?: RpcOptions): UnaryCall<GenerateRequest, GenerateResult>;
}
/**
 * @generated from protobuf service api.BillingService
 */
export class BillingServiceClient implements IBillingServiceClient, ServiceInfo {
    typeName = BillingService.typeName;
    methods = BillingService.methods;
    options = BillingService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: Generate(api.GenerateRequest) returns (api.GenerateResult);
     */
    generate(input: GenerateRequest, options?: RpcOptions): UnaryCall<GenerateRequest, GenerateResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<GenerateRequest, GenerateResult>("unary", this._transport, method, opt, input);
    }
}
