// This is a generated file - do not edit.
//
// Generated from movementQuery.proto.

// @dart = 3.3

// ignore_for_file: annotate_overrides, camel_case_types, comment_references
// ignore_for_file: constant_identifier_names
// ignore_for_file: curly_braces_in_flow_control_structures
// ignore_for_file: deprecated_member_use_from_same_package, library_prefixes
// ignore_for_file: non_constant_identifier_names

import 'dart:async' as $async;
import 'dart:core' as $core;

import 'package:grpc/service_api.dart' as $grpc;
import 'package:protobuf/protobuf.dart' as $pb;

import 'clickhouse.pb.dart' as $2;
import 'movementQuery.pb.dart' as $0;
import 'shared.pb.dart' as $1;

export 'movementQuery.pb.dart';

///
/// 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.
@$pb.GrpcServiceName('api.MovementQuery')
class MovementQueryClient extends $grpc.Client {
  /// The hostname for this service.
  static const $core.String defaultHost = '';

  /// OAuth scopes needed for the client.
  static const $core.List<$core.String> oauthScopes = [
    '',
  ];

  MovementQueryClient(super.channel, {super.options, super.interceptors});

  $grpc.ResponseFuture<$0.MovementByIdResult> getByIds($0.MovementByIdQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getByIds, request, options: options);
  }

  $grpc.ResponseFuture<$0.MovementByFilterResult> find($0.MovementByFilterQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$find, request, options: options);
  }

  $grpc.ResponseFuture<$0.MovementByMatchResult> findMatchingFieldValues($0.MovementByMatchQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$findMatchingFieldValues, request, options: options);
  }

  $grpc.ResponseFuture<$1.ElementByMatchResult> findMatchingFieldElements($1.ElementByMatchQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$findMatchingFieldElements, request, options: options);
  }

  $grpc.ResponseFuture<$0.MovementByOperationReferenceResult> getByOperationReference($0.MovementByOperationReferenceQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getByOperationReference, request, options: options);
  }

  $grpc.ResponseFuture<$2.GetKPIDataResult> getKPIData($2.GetKPIDataQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getKPIData, request, options: options);
  }

  $grpc.ResponseFuture<$1.ExtractResult> extract($1.ExtractQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$extract, request, options: options);
  }

  $grpc.ResponseFuture<$1.CountLinesResult> countLines($1.CountLinesQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$countLines, request, options: options);
  }

    // method descriptors

  static final _$getByIds = $grpc.ClientMethod<$0.MovementByIdQuery, $0.MovementByIdResult>(
      '/api.MovementQuery/GetByIds',
      ($0.MovementByIdQuery value) => value.writeToBuffer(),
      $0.MovementByIdResult.fromBuffer);
  static final _$find = $grpc.ClientMethod<$0.MovementByFilterQuery, $0.MovementByFilterResult>(
      '/api.MovementQuery/Find',
      ($0.MovementByFilterQuery value) => value.writeToBuffer(),
      $0.MovementByFilterResult.fromBuffer);
  static final _$findMatchingFieldValues = $grpc.ClientMethod<$0.MovementByMatchQuery, $0.MovementByMatchResult>(
      '/api.MovementQuery/FindMatchingFieldValues',
      ($0.MovementByMatchQuery value) => value.writeToBuffer(),
      $0.MovementByMatchResult.fromBuffer);
  static final _$findMatchingFieldElements = $grpc.ClientMethod<$1.ElementByMatchQuery, $1.ElementByMatchResult>(
      '/api.MovementQuery/FindMatchingFieldElements',
      ($1.ElementByMatchQuery value) => value.writeToBuffer(),
      $1.ElementByMatchResult.fromBuffer);
  static final _$getByOperationReference = $grpc.ClientMethod<$0.MovementByOperationReferenceQuery, $0.MovementByOperationReferenceResult>(
      '/api.MovementQuery/GetByOperationReference',
      ($0.MovementByOperationReferenceQuery value) => value.writeToBuffer(),
      $0.MovementByOperationReferenceResult.fromBuffer);
  static final _$getKPIData = $grpc.ClientMethod<$2.GetKPIDataQuery, $2.GetKPIDataResult>(
      '/api.MovementQuery/GetKPIData',
      ($2.GetKPIDataQuery value) => value.writeToBuffer(),
      $2.GetKPIDataResult.fromBuffer);
  static final _$extract = $grpc.ClientMethod<$1.ExtractQuery, $1.ExtractResult>(
      '/api.MovementQuery/Extract',
      ($1.ExtractQuery value) => value.writeToBuffer(),
      $1.ExtractResult.fromBuffer);
  static final _$countLines = $grpc.ClientMethod<$1.CountLinesQuery, $1.CountLinesResult>(
      '/api.MovementQuery/CountLines',
      ($1.CountLinesQuery value) => value.writeToBuffer(),
      $1.CountLinesResult.fromBuffer);
}

@$pb.GrpcServiceName('api.MovementQuery')
abstract class MovementQueryServiceBase extends $grpc.Service {
  $core.String get $name => 'api.MovementQuery';

  MovementQueryServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.MovementByIdQuery, $0.MovementByIdResult>(
        'GetByIds',
        getByIds_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.MovementByIdQuery.fromBuffer(value),
        ($0.MovementByIdResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.MovementByFilterQuery, $0.MovementByFilterResult>(
        'Find',
        find_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.MovementByFilterQuery.fromBuffer(value),
        ($0.MovementByFilterResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.MovementByMatchQuery, $0.MovementByMatchResult>(
        'FindMatchingFieldValues',
        findMatchingFieldValues_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.MovementByMatchQuery.fromBuffer(value),
        ($0.MovementByMatchResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$1.ElementByMatchQuery, $1.ElementByMatchResult>(
        'FindMatchingFieldElements',
        findMatchingFieldElements_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $1.ElementByMatchQuery.fromBuffer(value),
        ($1.ElementByMatchResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.MovementByOperationReferenceQuery, $0.MovementByOperationReferenceResult>(
        'GetByOperationReference',
        getByOperationReference_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.MovementByOperationReferenceQuery.fromBuffer(value),
        ($0.MovementByOperationReferenceResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$2.GetKPIDataQuery, $2.GetKPIDataResult>(
        'GetKPIData',
        getKPIData_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $2.GetKPIDataQuery.fromBuffer(value),
        ($2.GetKPIDataResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$1.ExtractQuery, $1.ExtractResult>(
        'Extract',
        extract_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $1.ExtractQuery.fromBuffer(value),
        ($1.ExtractResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$1.CountLinesQuery, $1.CountLinesResult>(
        'CountLines',
        countLines_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $1.CountLinesQuery.fromBuffer(value),
        ($1.CountLinesResult value) => value.writeToBuffer()));
  }

  $async.Future<$0.MovementByIdResult> getByIds_Pre($grpc.ServiceCall $call, $async.Future<$0.MovementByIdQuery> $request) async {
    return getByIds($call, await $request);
  }

  $async.Future<$0.MovementByIdResult> getByIds($grpc.ServiceCall call, $0.MovementByIdQuery request);

  $async.Future<$0.MovementByFilterResult> find_Pre($grpc.ServiceCall $call, $async.Future<$0.MovementByFilterQuery> $request) async {
    return find($call, await $request);
  }

  $async.Future<$0.MovementByFilterResult> find($grpc.ServiceCall call, $0.MovementByFilterQuery request);

  $async.Future<$0.MovementByMatchResult> findMatchingFieldValues_Pre($grpc.ServiceCall $call, $async.Future<$0.MovementByMatchQuery> $request) async {
    return findMatchingFieldValues($call, await $request);
  }

  $async.Future<$0.MovementByMatchResult> findMatchingFieldValues($grpc.ServiceCall call, $0.MovementByMatchQuery request);

  $async.Future<$1.ElementByMatchResult> findMatchingFieldElements_Pre($grpc.ServiceCall $call, $async.Future<$1.ElementByMatchQuery> $request) async {
    return findMatchingFieldElements($call, await $request);
  }

  $async.Future<$1.ElementByMatchResult> findMatchingFieldElements($grpc.ServiceCall call, $1.ElementByMatchQuery request);

  $async.Future<$0.MovementByOperationReferenceResult> getByOperationReference_Pre($grpc.ServiceCall $call, $async.Future<$0.MovementByOperationReferenceQuery> $request) async {
    return getByOperationReference($call, await $request);
  }

  $async.Future<$0.MovementByOperationReferenceResult> getByOperationReference($grpc.ServiceCall call, $0.MovementByOperationReferenceQuery request);

  $async.Future<$2.GetKPIDataResult> getKPIData_Pre($grpc.ServiceCall $call, $async.Future<$2.GetKPIDataQuery> $request) async {
    return getKPIData($call, await $request);
  }

  $async.Future<$2.GetKPIDataResult> getKPIData($grpc.ServiceCall call, $2.GetKPIDataQuery request);

  $async.Future<$1.ExtractResult> extract_Pre($grpc.ServiceCall $call, $async.Future<$1.ExtractQuery> $request) async {
    return extract($call, await $request);
  }

  $async.Future<$1.ExtractResult> extract($grpc.ServiceCall call, $1.ExtractQuery request);

  $async.Future<$1.CountLinesResult> countLines_Pre($grpc.ServiceCall $call, $async.Future<$1.CountLinesQuery> $request) async {
    return countLines($call, await $request);
  }

  $async.Future<$1.CountLinesResult> countLines($grpc.ServiceCall call, $1.CountLinesQuery request);

}
