// @generated by protobuf-ts 2.9.6
// @generated from protobuf file "movementQuery.proto" (package "api", syntax proto3)
// tslint:disable
import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
import { MovementQuery } from "./movementQuery";
import type { CountLinesResult } from "./shared";
import type { CountLinesQuery } from "./shared";
import type { ExtractResult } from "./shared";
import type { ExtractQuery } from "./shared";
import type { GetKPIDataResult } from "./clickhouse";
import type { GetKPIDataQuery } from "./clickhouse";
import type { MovementByOperationReferenceResult } from "./movementQuery";
import type { MovementByOperationReferenceQuery } from "./movementQuery";
import type { ElementByMatchResult } from "./shared";
import type { ElementByMatchQuery } from "./shared";
import type { MovementByMatchResult } from "./movementQuery";
import type { MovementByMatchQuery } from "./movementQuery";
import type { MovementByFilterResult } from "./movementQuery";
import type { MovementByFilterQuery } from "./movementQuery";
import { stackIntercept } from "@protobuf-ts/runtime-rpc";
import type { MovementByIdResult } from "./movementQuery";
import type { MovementByIdQuery } from "./movementQuery";
import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
/**
 *
 * Movement cannot be queried using id because the id is generated and not publicly-known.
 * Movement is only queryable by expressing conditions on Goods 'key' attributes (itemID, LVBranchID, PriorityDate and SegmentationKeys) and the ActorID.
 *
 *
 * @generated from protobuf service api.MovementQuery
 */
export interface IMovementQueryClient {
    /**
     * @generated from protobuf rpc: GetByIds(api.MovementByIdQuery) returns (api.MovementByIdResult);
     */
    getByIds(input: MovementByIdQuery, options?: RpcOptions): UnaryCall<MovementByIdQuery, MovementByIdResult>;
    /**
     * @generated from protobuf rpc: Find(api.MovementByFilterQuery) returns (api.MovementByFilterResult);
     */
    find(input: MovementByFilterQuery, options?: RpcOptions): UnaryCall<MovementByFilterQuery, MovementByFilterResult>;
    /**
     * @generated from protobuf rpc: FindMatchingFieldValues(api.MovementByMatchQuery) returns (api.MovementByMatchResult);
     */
    findMatchingFieldValues(input: MovementByMatchQuery, options?: RpcOptions): UnaryCall<MovementByMatchQuery, MovementByMatchResult>;
    /**
     * @generated from protobuf rpc: FindMatchingFieldElements(api.ElementByMatchQuery) returns (api.ElementByMatchResult);
     */
    findMatchingFieldElements(input: ElementByMatchQuery, options?: RpcOptions): UnaryCall<ElementByMatchQuery, ElementByMatchResult>;
    /**
     * @generated from protobuf rpc: GetByOperationReference(api.MovementByOperationReferenceQuery) returns (api.MovementByOperationReferenceResult);
     */
    getByOperationReference(input: MovementByOperationReferenceQuery, options?: RpcOptions): UnaryCall<MovementByOperationReferenceQuery, MovementByOperationReferenceResult>;
    /**
     * @generated from protobuf rpc: GetKPIData(api.GetKPIDataQuery) returns (api.GetKPIDataResult);
     */
    getKPIData(input: GetKPIDataQuery, options?: RpcOptions): UnaryCall<GetKPIDataQuery, GetKPIDataResult>;
    /**
     * @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>;
}
/**
 *
 * Movement cannot be queried using id because the id is generated and not publicly-known.
 * Movement is only queryable by expressing conditions on Goods 'key' attributes (itemID, LVBranchID, PriorityDate and SegmentationKeys) and the ActorID.
 *
 *
 * @generated from protobuf service api.MovementQuery
 */
export class MovementQueryClient implements IMovementQueryClient, ServiceInfo {
    typeName = MovementQuery.typeName;
    methods = MovementQuery.methods;
    options = MovementQuery.options;
    constructor(private readonly _transport: RpcTransport) {
    }
    /**
     * @generated from protobuf rpc: GetByIds(api.MovementByIdQuery) returns (api.MovementByIdResult);
     */
    getByIds(input: MovementByIdQuery, options?: RpcOptions): UnaryCall<MovementByIdQuery, MovementByIdResult> {
        const method = this.methods[0], opt = this._transport.mergeOptions(options);
        return stackIntercept<MovementByIdQuery, MovementByIdResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: Find(api.MovementByFilterQuery) returns (api.MovementByFilterResult);
     */
    find(input: MovementByFilterQuery, options?: RpcOptions): UnaryCall<MovementByFilterQuery, MovementByFilterResult> {
        const method = this.methods[1], opt = this._transport.mergeOptions(options);
        return stackIntercept<MovementByFilterQuery, MovementByFilterResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: FindMatchingFieldValues(api.MovementByMatchQuery) returns (api.MovementByMatchResult);
     */
    findMatchingFieldValues(input: MovementByMatchQuery, options?: RpcOptions): UnaryCall<MovementByMatchQuery, MovementByMatchResult> {
        const method = this.methods[2], opt = this._transport.mergeOptions(options);
        return stackIntercept<MovementByMatchQuery, MovementByMatchResult>("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: GetByOperationReference(api.MovementByOperationReferenceQuery) returns (api.MovementByOperationReferenceResult);
     */
    getByOperationReference(input: MovementByOperationReferenceQuery, options?: RpcOptions): UnaryCall<MovementByOperationReferenceQuery, MovementByOperationReferenceResult> {
        const method = this.methods[4], opt = this._transport.mergeOptions(options);
        return stackIntercept<MovementByOperationReferenceQuery, MovementByOperationReferenceResult>("unary", this._transport, method, opt, input);
    }
    /**
     * @generated from protobuf rpc: GetKPIData(api.GetKPIDataQuery) returns (api.GetKPIDataResult);
     */
    getKPIData(input: GetKPIDataQuery, options?: RpcOptions): UnaryCall<GetKPIDataQuery, GetKPIDataResult> {
        const method = this.methods[5], opt = this._transport.mergeOptions(options);
        return stackIntercept<GetKPIDataQuery, GetKPIDataResult>("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[6], 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[7], opt = this._transport.mergeOptions(options);
        return stackIntercept<CountLinesQuery, CountLinesResult>("unary", this._transport, method, opt, input);
    }
}
