// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "accounts.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { Accounts } from "./accounts";
import type { DeleteImportResult } from "./accounts";
import type { DeleteImportRequest } from "./accounts";
import type { DeleteExportResult } from "./accounts";
import type { DeleteExportRequest } from "./accounts";
import type { AddImportResult } from "./accounts";
import type { AddImportRequest } from "./accounts";
import type { AddExportResult } from "./accounts";
import type { AddExportRequest } from "./accounts";
import type { PushAccountsResult } from "./accounts";
import type { PushAccountsRequest } from "./accounts";
import type { DeleteAccountResult } from "./accounts";
import type { DeleteAccountRequest } from "./accounts";
import type { EditAccountResult } from "./accounts";
import type { EditAccountRequest } from "./accounts";
import type { ListAccountsResult } from "./accounts";
import type { ListAccountsRequest } from "./accounts";
import type { GetAccountResult } from "./accounts";
import type { GetAccountRequest } from "./accounts";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateAccountResult } from "./accounts";
import type { CreateAccountRequest } from "./accounts";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.Accounts
 */
export interface IAccountsClient {
    /**
     * @generated from protobuf rpc: CreateAccount(api.CreateAccountRequest) returns (api.CreateAccountResult);
     */
    createAccount(input: CreateAccountRequest, options?: RpcOptions): UnaryCall<CreateAccountRequest, CreateAccountResult>;
    /**
     * @generated from protobuf rpc: GetAccount(api.GetAccountRequest) returns (api.GetAccountResult);
     */
    getAccount(input: GetAccountRequest, options?: RpcOptions): UnaryCall<GetAccountRequest, GetAccountResult>;
    /**
     * @generated from protobuf rpc: ListAccounts(api.ListAccountsRequest) returns (api.ListAccountsResult);
     */
    listAccounts(input: ListAccountsRequest, options?: RpcOptions): UnaryCall<ListAccountsRequest, ListAccountsResult>;
    /**
     * @generated from protobuf rpc: EditAccount(api.EditAccountRequest) returns (api.EditAccountResult);
     */
    editAccount(input: EditAccountRequest, options?: RpcOptions): UnaryCall<EditAccountRequest, EditAccountResult>;
    /**
     * @generated from protobuf rpc: DeleteAccount(api.DeleteAccountRequest) returns (api.DeleteAccountResult);
     */
    deleteAccount(input: DeleteAccountRequest, options?: RpcOptions): UnaryCall<DeleteAccountRequest, DeleteAccountResult>;
    /**
     * @generated from protobuf rpc: PushAccounts(api.PushAccountsRequest) returns (api.PushAccountsResult);
     */
    pushAccounts(input: PushAccountsRequest, options?: RpcOptions): UnaryCall<PushAccountsRequest, PushAccountsResult>;
    /**
     * @generated from protobuf rpc: AddExport(api.AddExportRequest) returns (api.AddExportResult);
     */
    addExport(input: AddExportRequest, options?: RpcOptions): UnaryCall<AddExportRequest, AddExportResult>;
    /**
     * @generated from protobuf rpc: AddImport(api.AddImportRequest) returns (api.AddImportResult);
     */
    addImport(input: AddImportRequest, options?: RpcOptions): UnaryCall<AddImportRequest, AddImportResult>;
    /**
     * @generated from protobuf rpc: DeleteExport(api.DeleteExportRequest) returns (api.DeleteExportResult);
     */
    deleteExport(input: DeleteExportRequest, options?: RpcOptions): UnaryCall<DeleteExportRequest, DeleteExportResult>;
    /**
     * @generated from protobuf rpc: DeleteImport(api.DeleteImportRequest) returns (api.DeleteImportResult);
     */
    deleteImport(input: DeleteImportRequest, options?: RpcOptions): UnaryCall<DeleteImportRequest, DeleteImportResult>;
}
/**
 * @generated from protobuf service api.Accounts
 */
export class AccountsClient implements IAccountsClient, ServiceInfo {
    typeName = Accounts.typeName;
    methods = Accounts.methods;
    options = Accounts.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: CreateAccount(api.CreateAccountRequest) returns (api.CreateAccountResult);
     */
    createAccount(input: CreateAccountRequest, options?: RpcOptions): UnaryCall<CreateAccountRequest, CreateAccountResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateAccountRequest, CreateAccountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetAccount(api.GetAccountRequest) returns (api.GetAccountResult);
     */
    getAccount(input: GetAccountRequest, options?: RpcOptions): UnaryCall<GetAccountRequest, GetAccountResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetAccountRequest, GetAccountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: ListAccounts(api.ListAccountsRequest) returns (api.ListAccountsResult);
     */
    listAccounts(input: ListAccountsRequest, options?: RpcOptions): UnaryCall<ListAccountsRequest, ListAccountsResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<ListAccountsRequest, ListAccountsResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: EditAccount(api.EditAccountRequest) returns (api.EditAccountResult);
     */
    editAccount(input: EditAccountRequest, options?: RpcOptions): UnaryCall<EditAccountRequest, EditAccountResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<EditAccountRequest, EditAccountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteAccount(api.DeleteAccountRequest) returns (api.DeleteAccountResult);
     */
    deleteAccount(input: DeleteAccountRequest, options?: RpcOptions): UnaryCall<DeleteAccountRequest, DeleteAccountResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteAccountRequest, DeleteAccountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: PushAccounts(api.PushAccountsRequest) returns (api.PushAccountsResult);
     */
    pushAccounts(input: PushAccountsRequest, options?: RpcOptions): UnaryCall<PushAccountsRequest, PushAccountsResult> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<PushAccountsRequest, PushAccountsResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: AddExport(api.AddExportRequest) returns (api.AddExportResult);
     */
    addExport(input: AddExportRequest, options?: RpcOptions): UnaryCall<AddExportRequest, AddExportResult> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<AddExportRequest, AddExportResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: AddImport(api.AddImportRequest) returns (api.AddImportResult);
     */
    addImport(input: AddImportRequest, options?: RpcOptions): UnaryCall<AddImportRequest, AddImportResult> {
        const method = this.methods[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<AddImportRequest, AddImportResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteExport(api.DeleteExportRequest) returns (api.DeleteExportResult);
     */
    deleteExport(input: DeleteExportRequest, options?: RpcOptions): UnaryCall<DeleteExportRequest, DeleteExportResult> {
        const method = this.methods[8], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteExportRequest, DeleteExportResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteImport(api.DeleteImportRequest) returns (api.DeleteImportResult);
     */
    deleteImport(input: DeleteImportRequest, options?: RpcOptions): UnaryCall<DeleteImportRequest, DeleteImportResult> {
        const method = this.methods[9], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteImportRequest, DeleteImportResult>("unary", this._transport, method, opt, input);
    }
}
