// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "model.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { ModelService } from "./model";
import type { GetEntitiesResult } from "./model";
import type { GetEntitiesRequest } from "./model";
import type { GetEntityModelResult } from "./model";
import type { GetEntityModelRequest } from "./model";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { GetDataModelResult } from "./model";
import type { GetDataModelRequest } from "./model";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.ModelService
 */
export interface IModelServiceClient {
    /**
     * @generated from protobuf rpc: GetDataModel(api.GetDataModelRequest) returns (api.GetDataModelResult);
     */
    getDataModel(input: GetDataModelRequest, options?: RpcOptions): UnaryCall<GetDataModelRequest, GetDataModelResult>;
    /**
     * @generated from protobuf rpc: GetEntityModel(api.GetEntityModelRequest) returns (api.GetEntityModelResult);
     */
    getEntityModel(input: GetEntityModelRequest, options?: RpcOptions): UnaryCall<GetEntityModelRequest, GetEntityModelResult>;
    /**
     * @generated from protobuf rpc: GetEntities(api.GetEntitiesRequest) returns (api.GetEntitiesResult);
     */
    getEntities(input: GetEntitiesRequest, options?: RpcOptions): UnaryCall<GetEntitiesRequest, GetEntitiesResult>;
    /**
     * @generated from protobuf rpc: GetEntitiesWithMetadata(api.GetEntitiesRequest) returns (api.GetEntitiesResult);
     */
    getEntitiesWithMetadata(input: GetEntitiesRequest, options?: RpcOptions): UnaryCall<GetEntitiesRequest, GetEntitiesResult>;
    /**
     * @generated from protobuf rpc: GetEntitiesWithDataRestriction(api.GetEntitiesRequest) returns (api.GetEntitiesResult);
     */
    getEntitiesWithDataRestriction(input: GetEntitiesRequest, options?: RpcOptions): UnaryCall<GetEntitiesRequest, GetEntitiesResult>;
}
/**
 * @generated from protobuf service api.ModelService
 */
export class ModelServiceClient implements IModelServiceClient, ServiceInfo {
    typeName = ModelService.typeName;
    methods = ModelService.methods;
    options = ModelService.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: GetDataModel(api.GetDataModelRequest) returns (api.GetDataModelResult);
     */
    getDataModel(input: GetDataModelRequest, options?: RpcOptions): UnaryCall<GetDataModelRequest, GetDataModelResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetDataModelRequest, GetDataModelResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetEntityModel(api.GetEntityModelRequest) returns (api.GetEntityModelResult);
     */
    getEntityModel(input: GetEntityModelRequest, options?: RpcOptions): UnaryCall<GetEntityModelRequest, GetEntityModelResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetEntityModelRequest, GetEntityModelResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetEntities(api.GetEntitiesRequest) returns (api.GetEntitiesResult);
     */
    getEntities(input: GetEntitiesRequest, options?: RpcOptions): UnaryCall<GetEntitiesRequest, GetEntitiesResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetEntitiesRequest, GetEntitiesResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetEntitiesWithMetadata(api.GetEntitiesRequest) returns (api.GetEntitiesResult);
     */
    getEntitiesWithMetadata(input: GetEntitiesRequest, options?: RpcOptions): UnaryCall<GetEntitiesRequest, GetEntitiesResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetEntitiesRequest, GetEntitiesResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetEntitiesWithDataRestriction(api.GetEntitiesRequest) returns (api.GetEntitiesResult);
     */
    getEntitiesWithDataRestriction(input: GetEntitiesRequest, options?: RpcOptions): UnaryCall<GetEntitiesRequest, GetEntitiesResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetEntitiesRequest, GetEntitiesResult>("unary", this._transport, method, opt, input);
    }
}
