sig
  type ids = { ids : int64 list; }
  val json_of_ids : ids -> Api_intf.Json.t
  val ids_of_json : (ids, Api_intf.Json.t) Meta_conv.Types.Decoder.t
  val ids_of_json_exn : (ids, Api_intf.Json.t) Meta_conv.Types.Decoder.t_exn
  val ocaml_of_ids : ids -> Ocaml.t
  val ids_of_ocaml : (ids, Ocaml.t) Meta_conv.Types.Decoder.t
  val ids_of_ocaml_exn : (ids, Ocaml.t) Meta_conv.Types.Decoder.t_exn
  val ids_stream :
    ?user_id:int64 ->
    ?screen_name:string ->
    Oauth.t ->
    [> `Error of
         [> `Http of int * string
          | `Json of Api_intf.Json.t Meta_conv.Error.t ]
     | `Ok of int64 ]
    Spotlib.Spot.Stream.t
  val ids :
    ?user_id:int64 ->
    ?screen_name:string ->
    Oauth.t ->
    [> `Error of
         [> `Http of int * string
          | `Json of Api_intf.Json.t Meta_conv.Error.t ]
     | `Ok of int64 ]
    list
  type users = { users : Api_intf.User.t list; }
  val json_of_users : users -> Api_intf.Json.t
  val users_of_json : (users, Api_intf.Json.t) Meta_conv.Types.Decoder.t
  val users_of_json_exn :
    (users, Api_intf.Json.t) Meta_conv.Types.Decoder.t_exn
  val ocaml_of_users : users -> Ocaml.t
  val users_of_ocaml : (users, Ocaml.t) Meta_conv.Types.Decoder.t
  val users_of_ocaml_exn : (users, Ocaml.t) Meta_conv.Types.Decoder.t_exn
  val list_stream :
    ?user_id:int64 ->
    ?screen_name:string ->
    ?skip_status:bool ->
    ?include_user_entities:bool ->
    Oauth.t ->
    [> `Error of
         [> `Http of int * string
          | `Json of Api_intf.Json.t Meta_conv.Error.t ]
     | `Ok of Api_intf.User.t ]
    Spotlib.Spot.Stream.t
  val list :
    ?user_id:int64 ->
    ?screen_name:string ->
    ?skip_status:bool ->
    ?include_user_entities:bool ->
    Oauth.t ->
    [> `Error of
         [> `Http of int * string
          | `Json of Api_intf.Json.t Meta_conv.Error.t ]
     | `Ok of Api_intf.User.t ]
    list
end