// This is a generated file - do not edit.
//
// Generated from itemQuery.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 'itemQuery.pb.dart' as $0;
import 'shared.pb.dart' as $1;

export 'itemQuery.pb.dart';

@$pb.GrpcServiceName('api.ItemQuery')
class ItemQueryClient 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 = [
    '',
  ];

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

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

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

  $grpc.ResponseFuture<$0.ItemByMatchResult> findMatchingFieldValues($0.ItemByMatchQuery 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<$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);
  }

  $grpc.ResponseFuture<$0.GetLVDetailedQuantityResult> getLVDetailedQuantity($0.GetLVDetailedQuantityQuery request, {$grpc.CallOptions? options,}) {
    return $createUnaryCall(_$getLVDetailedQuantity, request, options: options);
  }

    // method descriptors

  static final _$getByIds = $grpc.ClientMethod<$0.ItemByIdQuery, $0.ItemByIdResult>(
      '/api.ItemQuery/GetByIds',
      ($0.ItemByIdQuery value) => value.writeToBuffer(),
      $0.ItemByIdResult.fromBuffer);
  static final _$find = $grpc.ClientMethod<$0.ItemByFilterQuery, $0.ItemByFilterResult>(
      '/api.ItemQuery/Find',
      ($0.ItemByFilterQuery value) => value.writeToBuffer(),
      $0.ItemByFilterResult.fromBuffer);
  static final _$findMatchingFieldValues = $grpc.ClientMethod<$0.ItemByMatchQuery, $0.ItemByMatchResult>(
      '/api.ItemQuery/FindMatchingFieldValues',
      ($0.ItemByMatchQuery value) => value.writeToBuffer(),
      $0.ItemByMatchResult.fromBuffer);
  static final _$findMatchingFieldElements = $grpc.ClientMethod<$1.ElementByMatchQuery, $1.ElementByMatchResult>(
      '/api.ItemQuery/FindMatchingFieldElements',
      ($1.ElementByMatchQuery value) => value.writeToBuffer(),
      $1.ElementByMatchResult.fromBuffer);
  static final _$extract = $grpc.ClientMethod<$1.ExtractQuery, $1.ExtractResult>(
      '/api.ItemQuery/Extract',
      ($1.ExtractQuery value) => value.writeToBuffer(),
      $1.ExtractResult.fromBuffer);
  static final _$countLines = $grpc.ClientMethod<$1.CountLinesQuery, $1.CountLinesResult>(
      '/api.ItemQuery/CountLines',
      ($1.CountLinesQuery value) => value.writeToBuffer(),
      $1.CountLinesResult.fromBuffer);
  static final _$getLVDetailedQuantity = $grpc.ClientMethod<$0.GetLVDetailedQuantityQuery, $0.GetLVDetailedQuantityResult>(
      '/api.ItemQuery/GetLVDetailedQuantity',
      ($0.GetLVDetailedQuantityQuery value) => value.writeToBuffer(),
      $0.GetLVDetailedQuantityResult.fromBuffer);
}

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

  ItemQueryServiceBase() {
    $addMethod($grpc.ServiceMethod<$0.ItemByIdQuery, $0.ItemByIdResult>(
        'GetByIds',
        getByIds_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ItemByIdQuery.fromBuffer(value),
        ($0.ItemByIdResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ItemByFilterQuery, $0.ItemByFilterResult>(
        'Find',
        find_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ItemByFilterQuery.fromBuffer(value),
        ($0.ItemByFilterResult value) => value.writeToBuffer()));
    $addMethod($grpc.ServiceMethod<$0.ItemByMatchQuery, $0.ItemByMatchResult>(
        'FindMatchingFieldValues',
        findMatchingFieldValues_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.ItemByMatchQuery.fromBuffer(value),
        ($0.ItemByMatchResult 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<$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()));
    $addMethod($grpc.ServiceMethod<$0.GetLVDetailedQuantityQuery, $0.GetLVDetailedQuantityResult>(
        'GetLVDetailedQuantity',
        getLVDetailedQuantity_Pre,
        false,
        false,
        ($core.List<$core.int> value) => $0.GetLVDetailedQuantityQuery.fromBuffer(value),
        ($0.GetLVDetailedQuantityResult value) => value.writeToBuffer()));
  }

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

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

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

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

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

  $async.Future<$0.ItemByMatchResult> findMatchingFieldValues($grpc.ServiceCall call, $0.ItemByMatchQuery 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<$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);

  $async.Future<$0.GetLVDetailedQuantityResult> getLVDetailedQuantity_Pre($grpc.ServiceCall $call, $async.Future<$0.GetLVDetailedQuantityQuery> $request) async {
    return getLVDetailedQuantity($call, await $request);
  }

  $async.Future<$0.GetLVDetailedQuantityResult> getLVDetailedQuantity($grpc.ServiceCall call, $0.GetLVDetailedQuantityQuery request);

}
