// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "nats-api.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { NatsService } from "./nats-api";
import type { PushMessageResult } from "./nats-api";
import type { PushMessageRequest } from "./nats-api";
import type { RenewPartnerAppUserCredentialsResult } from "./nats-api";
import type { RenewPartnerAppUserCredentialsRequest } from "./nats-api";
import type { RenewProjectAccountCredentialsResult } from "./nats-api";
import type { RenewProjectAccountCredentialsRequest } from "./nats-api";
import type { DeletePartnerAppUserResult } from "./nats-api";
import type { DeletePartnerAppUserRequest } from "./nats-api";
import type { CreatePartnerAppUserResult } from "./nats-api";
import type { CreatePartnerAppUserRequest } from "./nats-api";
import type { DeleteProjectAccountResult } from "./nats-api";
import type { DeleteProjectAccountRequest } from "./nats-api";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateProjectAccountResult } from "./nats-api";
import type { CreateProjectAccountRequest } from "./nats-api";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.NatsService
 */
export interface INatsServiceClient {
    /**
     * @generated from protobuf rpc: CreateProjectAccount(api.CreateProjectAccountRequest) returns (api.CreateProjectAccountResult);
     */
    createProjectAccount(input: CreateProjectAccountRequest, options?: RpcOptions): UnaryCall<CreateProjectAccountRequest, CreateProjectAccountResult>;
    /**
     * @generated from protobuf rpc: DeleteProjectAccount(api.DeleteProjectAccountRequest) returns (api.DeleteProjectAccountResult);
     */
    deleteProjectAccount(input: DeleteProjectAccountRequest, options?: RpcOptions): UnaryCall<DeleteProjectAccountRequest, DeleteProjectAccountResult>;
    /**
     * @generated from protobuf rpc: CreatePartnerAppUser(api.CreatePartnerAppUserRequest) returns (api.CreatePartnerAppUserResult);
     */
    createPartnerAppUser(input: CreatePartnerAppUserRequest, options?: RpcOptions): UnaryCall<CreatePartnerAppUserRequest, CreatePartnerAppUserResult>;
    /**
     * @generated from protobuf rpc: DeletePartnerAppUser(api.DeletePartnerAppUserRequest) returns (api.DeletePartnerAppUserResult);
     */
    deletePartnerAppUser(input: DeletePartnerAppUserRequest, options?: RpcOptions): UnaryCall<DeletePartnerAppUserRequest, DeletePartnerAppUserResult>;
    /**
     * @generated from protobuf rpc: RenewProjectAccountCredentials(api.RenewProjectAccountCredentialsRequest) returns (api.RenewProjectAccountCredentialsResult);
     */
    renewProjectAccountCredentials(input: RenewProjectAccountCredentialsRequest, options?: RpcOptions): UnaryCall<RenewProjectAccountCredentialsRequest, RenewProjectAccountCredentialsResult>;
    /**
     * @generated from protobuf rpc: RenewPartnerAppUserCredentials(api.RenewPartnerAppUserCredentialsRequest) returns (api.RenewPartnerAppUserCredentialsResult);
     */
    renewPartnerAppUserCredentials(input: RenewPartnerAppUserCredentialsRequest, options?: RpcOptions): UnaryCall<RenewPartnerAppUserCredentialsRequest, RenewPartnerAppUserCredentialsResult>;
    /**
     * @generated from protobuf rpc: PushMessage(api.PushMessageRequest) returns (api.PushMessageResult);
     */
    pushMessage(input: PushMessageRequest, options?: RpcOptions): UnaryCall<PushMessageRequest, PushMessageResult>;
}
/**
 * @generated from protobuf service api.NatsService
 */
export class NatsServiceClient implements INatsServiceClient, ServiceInfo {
    typeName = NatsService.typeName;
    methods = NatsService.methods;
    options = NatsService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: CreateProjectAccount(api.CreateProjectAccountRequest) returns (api.CreateProjectAccountResult);
     */
    createProjectAccount(input: CreateProjectAccountRequest, options?: RpcOptions): UnaryCall<CreateProjectAccountRequest, CreateProjectAccountResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateProjectAccountRequest, CreateProjectAccountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteProjectAccount(api.DeleteProjectAccountRequest) returns (api.DeleteProjectAccountResult);
     */
    deleteProjectAccount(input: DeleteProjectAccountRequest, options?: RpcOptions): UnaryCall<DeleteProjectAccountRequest, DeleteProjectAccountResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteProjectAccountRequest, DeleteProjectAccountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: CreatePartnerAppUser(api.CreatePartnerAppUserRequest) returns (api.CreatePartnerAppUserResult);
     */
    createPartnerAppUser(input: CreatePartnerAppUserRequest, options?: RpcOptions): UnaryCall<CreatePartnerAppUserRequest, CreatePartnerAppUserResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreatePartnerAppUserRequest, CreatePartnerAppUserResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeletePartnerAppUser(api.DeletePartnerAppUserRequest) returns (api.DeletePartnerAppUserResult);
     */
    deletePartnerAppUser(input: DeletePartnerAppUserRequest, options?: RpcOptions): UnaryCall<DeletePartnerAppUserRequest, DeletePartnerAppUserResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeletePartnerAppUserRequest, DeletePartnerAppUserResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: RenewProjectAccountCredentials(api.RenewProjectAccountCredentialsRequest) returns (api.RenewProjectAccountCredentialsResult);
     */
    renewProjectAccountCredentials(input: RenewProjectAccountCredentialsRequest, options?: RpcOptions): UnaryCall<RenewProjectAccountCredentialsRequest, RenewProjectAccountCredentialsResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<RenewProjectAccountCredentialsRequest, RenewProjectAccountCredentialsResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: RenewPartnerAppUserCredentials(api.RenewPartnerAppUserCredentialsRequest) returns (api.RenewPartnerAppUserCredentialsResult);
     */
    renewPartnerAppUserCredentials(input: RenewPartnerAppUserCredentialsRequest, options?: RpcOptions): UnaryCall<RenewPartnerAppUserCredentialsRequest, RenewPartnerAppUserCredentialsResult> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<RenewPartnerAppUserCredentialsRequest, RenewPartnerAppUserCredentialsResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: PushMessage(api.PushMessageRequest) returns (api.PushMessageResult);
     */
    pushMessage(input: PushMessageRequest, options?: RpcOptions): UnaryCall<PushMessageRequest, PushMessageResult> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<PushMessageRequest, PushMessageResult>("unary", this._transport, method, opt, input);
    }
}
