class TestApi {
  $pb.RpcClient _client;
  TestApi(this._client);

  Future<SomeReply> aMethod($pb.ClientContext ctx, SomeRequest request) {
    var emptyResponse = new SomeReply();
    return _client.invoke<SomeReply>(ctx, 'Test', 'AMethod', request, emptyResponse);
  }
  Future<$foo$bar.AnotherReply> anotherMethod($pb.ClientContext ctx, $foo$bar.EmptyMessage request) {
    var emptyResponse = new $foo$bar.AnotherReply();
    return _client.invoke<$foo$bar.AnotherReply>(ctx, 'Test', 'AnotherMethod', request, emptyResponse);
  }
}

