sig
  val interface : OBus_name.interface
  val m_AboutToSleep : (unit, unit) OBus_member.Method.t
  val m_EnumerateDevices : (unit, OBus_path.t list) OBus_member.Method.t
  val m_Hibernate : (unit, unit) OBus_member.Method.t
  val m_HibernateAllowed : (unit, bool) OBus_member.Method.t
  val m_Suspend : (unit, unit) OBus_member.Method.t
  val m_SuspendAllowed : (unit, bool) OBus_member.Method.t
  val s_Changed : unit OBus_member.Signal.t
  val s_DeviceAdded : string OBus_member.Signal.t
  val s_DeviceChanged : string OBus_member.Signal.t
  val s_DeviceRemoved : string OBus_member.Signal.t
  val s_Resuming : unit OBus_member.Signal.t
  val s_Sleeping : unit OBus_member.Signal.t
  val p_CanHibernate : (bool, [ `readable ]) OBus_member.Property.t
  val p_CanSuspend : (bool, [ `readable ]) OBus_member.Property.t
  val p_DaemonVersion : (string, [ `readable ]) OBus_member.Property.t
  val p_LidIsClosed : (bool, [ `readable ]) OBus_member.Property.t
  val p_LidIsPresent : (bool, [ `readable ]) OBus_member.Property.t
  val p_OnBattery : (bool, [ `readable ]) OBus_member.Property.t
  val p_OnLowBattery : (bool, [ `readable ]) OBus_member.Property.t
  type 'a members = {
    m_AboutToSleep : 'OBus_object.t -> unit -> unit Lwt.t;
    m_EnumerateDevices : 'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
    m_Hibernate : 'OBus_object.t -> unit -> unit Lwt.t;
    m_HibernateAllowed : 'OBus_object.t -> unit -> bool Lwt.t;
    m_Suspend : 'OBus_object.t -> unit -> unit Lwt.t;
    m_SuspendAllowed : 'OBus_object.t -> unit -> bool Lwt.t;
    p_CanHibernate : 'OBus_object.t -> bool React.signal;
    p_CanSuspend : 'OBus_object.t -> bool React.signal;
    p_DaemonVersion : 'OBus_object.t -> string React.signal;
    p_LidIsClosed : 'OBus_object.t -> bool React.signal;
    p_LidIsPresent : 'OBus_object.t -> bool React.signal;
    p_OnBattery : 'OBus_object.t -> bool React.signal;
    p_OnLowBattery : 'OBus_object.t -> bool React.signal;
  }
  val make :
    'UPower_interfaces.Org_freedesktop_UPower.members ->
    'OBus_object.interface
end