sig
  module Client :
    sig
      type t
      val create :
        Hydro_types.system ->
        Hydro_client_connector.connector ->
        Unixqueue.event_system -> Hydro_endpoint.Client.t
      val configure :
        Hydro_endpoint.Client.t -> Hydro_types.client_params -> unit
      type response =
          < client : Hydro_endpoint.Client.t option;
            condition : [ `Client_is_down
                        | `Connect_error of exn
                        | `Connect_timeout
                        | `Error of exn
                        | `Facet_does_not_exist of
                            Hydro_types.identity * string option * string
                        | `Message_lost of bool
                        | `Message_timeout
                        | `Object_does_not_exist of
                            Hydro_types.identity * string option * string
                        | `Operation_does_not_exist of
                            Hydro_types.identity * string option * string
                        | `Success
                        | `Transport_timeout
                        | `Unknown_exception of string
                        | `Unknown_local_exception of string
                        | `Unknown_user_exception of string
                        | `User_exception of Hydro_types.sliced_value ];
            mode : Hydro_types.op_mode; out_args : Hydro_types.value array;
            peer : Unix.sockaddr option; result : Hydro_types.value >
      val twoway_call :
        ?facet:string ->
        Hydro_endpoint.Client.t ->
        Hydro_types.identity ->
        Hydro_types.hintf ->
        string ->
        Hydro_types.call_params ->
        Hydro_types.value array ->
        (Hydro_endpoint.Client.response -> unit) -> unit
      val queued_requests : Hydro_endpoint.Client.t -> int
      val is_up : Hydro_endpoint.Client.t -> bool
      val is_idle : Hydro_endpoint.Client.t -> bool
      val client_id : Hydro_endpoint.Client.t -> int
      val shutdown : Hydro_endpoint.Client.t -> unit
      val shutdown_when_idle : Hydro_endpoint.Client.t -> unit
      val abort : Hydro_endpoint.Client.t -> unit
      val graceful : Hydro_endpoint.Client.t -> bool
      val pool_connect : Hydro_endpoint.Client.t -> (unit -> unit) -> unit
    end
end