// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "itemQuery.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { ItemQuery } from "./itemQuery";
import type { GetLVDetailedQuantityResult } from "./itemQuery";
import type { GetLVDetailedQuantityQuery } from "./itemQuery";
import type { CountLinesResult } from "./shared";
import type { CountLinesQuery } from "./shared";
import type { ExtractResult } from "./shared";
import type { ExtractQuery } from "./shared";
import type { ElementByMatchResult } from "./shared";
import type { ElementByMatchQuery } from "./shared";
import type { ItemByMatchResult } from "./itemQuery";
import type { ItemByMatchQuery } from "./itemQuery";
import type { ItemByFilterResult } from "./itemQuery";
import type { ItemByFilterQuery } from "./itemQuery";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { ItemByIdResult } from "./itemQuery";
import type { ItemByIdQuery } from "./itemQuery";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 * @generated from protobuf service api.ItemQuery
 */
export interface IItemQueryClient {
    /**
     * @generated from protobuf rpc: GetByIds(api.ItemByIdQuery) returns (api.ItemByIdResult);
     */
    getByIds(input: ItemByIdQuery, options?: RpcOptions): UnaryCall<ItemByIdQuery, ItemByIdResult>;
    /**
     * @generated from protobuf rpc: Find(api.ItemByFilterQuery) returns (api.ItemByFilterResult);
     */
    find(input: ItemByFilterQuery, options?: RpcOptions): UnaryCall<ItemByFilterQuery, ItemByFilterResult>;
    /**
     * @generated from protobuf rpc: FindMatchingFieldValues(api.ItemByMatchQuery) returns (api.ItemByMatchResult);
     */
    findMatchingFieldValues(input: ItemByMatchQuery, options?: RpcOptions): UnaryCall<ItemByMatchQuery, ItemByMatchResult>;
    /**
     * @generated from protobuf rpc: FindMatchingFieldElements(api.ElementByMatchQuery) returns (api.ElementByMatchResult);
     */
    findMatchingFieldElements(input: ElementByMatchQuery, options?: RpcOptions): UnaryCall<ElementByMatchQuery, ElementByMatchResult>;
    /**
     * @generated from protobuf rpc: Extract(api.ExtractQuery) returns (api.ExtractResult);
     */
    extract(input: ExtractQuery, options?: RpcOptions): UnaryCall<ExtractQuery, ExtractResult>;
    /**
     * @generated from protobuf rpc: CountLines(api.CountLinesQuery) returns (api.CountLinesResult);
     */
    countLines(input: CountLinesQuery, options?: RpcOptions): UnaryCall<CountLinesQuery, CountLinesResult>;
    // 
    // rpc GetKPIData (GetKPIDataQuery) returns (GetKPIDataResult) {
    // option (rscType) = "Project";
    // option (roles) = "";
    // option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
    // description: "Get Item KPI data"
    // summary: ""
    // tags: "Item Query"
    // };
    // option (google.api.method_visibility).restriction = "PUBLIC";
    // };

    /**
     * @generated from protobuf rpc: GetLVDetailedQuantity(api.GetLVDetailedQuantityQuery) returns (api.GetLVDetailedQuantityResult);
     */
    getLVDetailedQuantity(input: GetLVDetailedQuantityQuery, options?: RpcOptions): UnaryCall<GetLVDetailedQuantityQuery, GetLVDetailedQuantityResult>;
}
/**
 * @generated from protobuf service api.ItemQuery
 */
export class ItemQueryClient implements IItemQueryClient, ServiceInfo {
    typeName = ItemQuery.typeName;
    methods = ItemQuery.methods;
    options = ItemQuery.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: GetByIds(api.ItemByIdQuery) returns (api.ItemByIdResult);
     */
    getByIds(input: ItemByIdQuery, options?: RpcOptions): UnaryCall<ItemByIdQuery, ItemByIdResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<ItemByIdQuery, ItemByIdResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Find(api.ItemByFilterQuery) returns (api.ItemByFilterResult);
     */
    find(input: ItemByFilterQuery, options?: RpcOptions): UnaryCall<ItemByFilterQuery, ItemByFilterResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<ItemByFilterQuery, ItemByFilterResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: FindMatchingFieldValues(api.ItemByMatchQuery) returns (api.ItemByMatchResult);
     */
    findMatchingFieldValues(input: ItemByMatchQuery, options?: RpcOptions): UnaryCall<ItemByMatchQuery, ItemByMatchResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<ItemByMatchQuery, ItemByMatchResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: FindMatchingFieldElements(api.ElementByMatchQuery) returns (api.ElementByMatchResult);
     */
    findMatchingFieldElements(input: ElementByMatchQuery, options?: RpcOptions): UnaryCall<ElementByMatchQuery, ElementByMatchResult> {
        const method = this.methods[3], opt = this._transport.mergeOptions(options);
        return stackIntercept<ElementByMatchQuery, ElementByMatchResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Extract(api.ExtractQuery) returns (api.ExtractResult);
     */
    extract(input: ExtractQuery, options?: RpcOptions): UnaryCall<ExtractQuery, ExtractResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<ExtractQuery, ExtractResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: CountLines(api.CountLinesQuery) returns (api.CountLinesResult);
     */
    countLines(input: CountLinesQuery, options?: RpcOptions): UnaryCall<CountLinesQuery, CountLinesResult> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<CountLinesQuery, CountLinesResult>("unary", this._transport, method, opt, input);
    }
    // 
    // rpc GetKPIData (GetKPIDataQuery) returns (GetKPIDataResult) {
    // option (rscType) = "Project";
    // option (roles) = "";
    // option (grpc.gateway.protoc_gen_openapiv2.options.openapiv2_operation) = {
    // description: "Get Item KPI data"
    // summary: ""
    // tags: "Item Query"
    // };
    // option (google.api.method_visibility).restriction = "PUBLIC";
    // };

    /**
     * @generated from protobuf rpc: GetLVDetailedQuantity(api.GetLVDetailedQuantityQuery) returns (api.GetLVDetailedQuantityResult);
     */
    getLVDetailedQuantity(input: GetLVDetailedQuantityQuery, options?: RpcOptions): UnaryCall<GetLVDetailedQuantityQuery, GetLVDetailedQuantityResult> {
        const method = this.methods[6], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetLVDetailedQuantityQuery, GetLVDetailedQuantityResult>("unary", this._transport, method, opt, input);
    }
}
