// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "metadatadef.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { MetadataService } from "./metadatadef";
import type { RestoreMetadatasResult } from "./metadatadef";
import type { RestoreMetadatasRequest } from "./metadatadef";
import type { GetTransitiveMetadatasResult } from "./metadatadef";
import type { GetTransitiveMetadatasRequest } from "./metadatadef";
import type { GetMetadataCountResult } from "./metadatadef";
import type { GetMetadataCountRequest } from "./metadatadef";
import type { DeleteMetadatasResult } from "./metadatadef";
import type { DeleteMetadatasRequest } from "./metadatadef";
import type { GetMetadatasResult } from "./metadatadef";
import type { GetMetadatasRequest } from "./metadatadef";
import type { UpdateMetadataResult } from "./metadatadef";
import type { UpdateMetadataRequest } from "./metadatadef";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { CreateMetadataResult } from "./metadatadef";
import type { CreateMetadataRequest } from "./metadatadef";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.MetadataService
 */
export interface IMetadataServiceClient {
    /**
     * @generated from protobuf rpc: CreateMetadata(api.CreateMetadataRequest) returns (api.CreateMetadataResult);
     */
    createMetadata(input: CreateMetadataRequest, options?: RpcOptions): UnaryCall<CreateMetadataRequest, CreateMetadataResult>;
    /**
     * @generated from protobuf rpc: UpdateMetadata(api.UpdateMetadataRequest) returns (api.UpdateMetadataResult);
     */
    updateMetadata(input: UpdateMetadataRequest, options?: RpcOptions): UnaryCall<UpdateMetadataRequest, UpdateMetadataResult>;
    /**
     * @generated from protobuf rpc: GetMetadatas(api.GetMetadatasRequest) returns (api.GetMetadatasResult);
     */
    getMetadatas(input: GetMetadatasRequest, options?: RpcOptions): UnaryCall<GetMetadatasRequest, GetMetadatasResult>;
    /**
     * @generated from protobuf rpc: DeleteMetadatas(api.DeleteMetadatasRequest) returns (api.DeleteMetadatasResult);
     */
    deleteMetadatas(input: DeleteMetadatasRequest, options?: RpcOptions): UnaryCall<DeleteMetadatasRequest, DeleteMetadatasResult>;
    /**
     * @generated from protobuf rpc: GetMetadataCount(api.GetMetadataCountRequest) returns (api.GetMetadataCountResult);
     */
    getMetadataCount(input: GetMetadataCountRequest, options?: RpcOptions): UnaryCall<GetMetadataCountRequest, GetMetadataCountResult>;
    /**
     * @generated from protobuf rpc: GetTransitiveMetadatas(api.GetTransitiveMetadatasRequest) returns (api.GetTransitiveMetadatasResult);
     */
    getTransitiveMetadatas(input: GetTransitiveMetadatasRequest, options?: RpcOptions): UnaryCall<GetTransitiveMetadatasRequest, GetTransitiveMetadatasResult>;
    /**
     * @generated from protobuf rpc: RestoreMetadatas(api.RestoreMetadatasRequest) returns (api.RestoreMetadatasResult);
     */
    restoreMetadatas(input: RestoreMetadatasRequest, options?: RpcOptions): UnaryCall<RestoreMetadatasRequest, RestoreMetadatasResult>;
}
/**
 * @generated from protobuf service api.MetadataService
 */
export class MetadataServiceClient implements IMetadataServiceClient, ServiceInfo {
    typeName = MetadataService.typeName;
    methods = MetadataService.methods;
    options = MetadataService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: CreateMetadata(api.CreateMetadataRequest) returns (api.CreateMetadataResult);
     */
    createMetadata(input: CreateMetadataRequest, options?: RpcOptions): UnaryCall<CreateMetadataRequest, CreateMetadataResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<CreateMetadataRequest, CreateMetadataResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: UpdateMetadata(api.UpdateMetadataRequest) returns (api.UpdateMetadataResult);
     */
    updateMetadata(input: UpdateMetadataRequest, options?: RpcOptions): UnaryCall<UpdateMetadataRequest, UpdateMetadataResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<UpdateMetadataRequest, UpdateMetadataResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetMetadatas(api.GetMetadatasRequest) returns (api.GetMetadatasResult);
     */
    getMetadatas(input: GetMetadatasRequest, options?: RpcOptions): UnaryCall<GetMetadatasRequest, GetMetadatasResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetMetadatasRequest, GetMetadatasResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: DeleteMetadatas(api.DeleteMetadatasRequest) returns (api.DeleteMetadatasResult);
     */
    deleteMetadatas(input: DeleteMetadatasRequest, options?: RpcOptions): UnaryCall<DeleteMetadatasRequest, DeleteMetadatasResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<DeleteMetadatasRequest, DeleteMetadatasResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetMetadataCount(api.GetMetadataCountRequest) returns (api.GetMetadataCountResult);
     */
    getMetadataCount(input: GetMetadataCountRequest, options?: RpcOptions): UnaryCall<GetMetadataCountRequest, GetMetadataCountResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetMetadataCountRequest, GetMetadataCountResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetTransitiveMetadatas(api.GetTransitiveMetadatasRequest) returns (api.GetTransitiveMetadatasResult);
     */
    getTransitiveMetadatas(input: GetTransitiveMetadatasRequest, options?: RpcOptions): UnaryCall<GetTransitiveMetadatasRequest, GetTransitiveMetadatasResult> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetTransitiveMetadatasRequest, GetTransitiveMetadatasResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: RestoreMetadatas(api.RestoreMetadatasRequest) returns (api.RestoreMetadatasResult);
     */
    restoreMetadatas(input: RestoreMetadatasRequest, options?: RpcOptions): UnaryCall<RestoreMetadatasRequest, RestoreMetadatasResult> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<RestoreMetadatasRequest, RestoreMetadatasResult>("unary", this._transport, method, opt, input);
    }
}
