sig
  type data = {
    data_is_userspace : bool;
    data_id : int;
    data_value : float;
    data_cmdline : string option;
    data_details : string;
  }
  val get_data : UPower.t -> UPower_wakeups.data list Lwt.t
  val get_total : UPower.t -> int Lwt.t
  val data_changed : UPower.t -> unit OBus_signal.t
  val total_changed : UPower.t -> int OBus_signal.t
  val has_capability : UPower.t -> bool OBus_property.r
end