class_docstr: The Client-side methods corresponding to the ray API. Delegates
  to the Client Worker that contains the connection to the ClientServer.
class_docstr_tok: ["The","Client-side","methods","corresponding","to","the","ray","API",".","Delegates","to","the","Client","Worker","that","contains","the","connection","to","the","ClientServer","."]
docstr: remote is the hook stub passed on to replace `ray.remote`.
  
  This sets up remote functions or actors, as the decorator,
  but does not execute them.
  
  Args:
      args: opaque arguments
      kwargs: opaque keyword arguments
code: def remote(self, *args, **kwargs):
      """remote is the hook stub passed on to replace `ray.remote`.
  
      This sets up remote functions or actors, as the decorator,
      but does not execute them.
  
      Args:
          args: opaque arguments
          kwargs: opaque keyword arguments
      """
      # Delayed import to avoid a cyclic import
      from ray.util.client.common import remote_decorator
  
      if len(args) == 1 and len(kwargs) == 0 and callable(args[0]):
          # This is the case where the decorator is just @ray.remote.
          return remote_decorator(options=None)(args[0])
      assert (
          len(args) == 0 and len(kwargs) > 0
      ), ray_option_utils.remote_args_error_string
      return remote_decorator(options=kwargs)
  
imports: import json
  import logging
  from concurrent.futures import Future
  from typing import TYPE_CHECKING, Any, Callable, List, Optional, Union
  from ray._private import ray_option_utils
  from ray.util.client.runtime_context import _ClientWorkerPropertyAPI
label_desc: Use image node_id 5 for calling the _ClientAPI obj's underlying member method code with example usage: obj.remote() and returns: remote_decorator, remote_decorator