`sig
type t = private OBus_proxy.proxy
external of_proxy : OBus_proxy.proxy -> t = "%identity"
external to_proxy : t -> OBus_proxy.proxy = "%identity"
type typ =
[ `Battery
| `Keyboard
| `Line_power
| `Monitor
| `Mouse
| `Pda
| `Phone
| `Unknown
| `Ups ]
type state =
[ `Charging
| `Discharging
| `Empty
| `Fully_charged
| `Pending_charge
| `Pending_discharge
| `Unknown ]
type technology =
[ `Lead_acid
| `Lithium_ion
| `Lithium_iron_phosphate
| `Lithium_polymer
| `Nickel_cadmium
| `Nickel_metal_hydride
| `Unknown ]
val general_error : OBus_error.name
val get_statistics : t -> typ:string -> (float * float) list Lwt.t
val get_history :
t ->
typ:string ->
timespan:int -> resolution:int -> (int * float * int) list Lwt.t
val refresh : t -> unit Lwt.t
val changed : t -> unit OBus_signal.t
val recall_url : t -> string OBus_property.r
val recall_vendor : t -> string OBus_property.r
val recall_notice : t -> bool OBus_property.r
val technology : t -> UPower_device.technology OBus_property.r
val capacity : t -> float OBus_property.r
val is_rechargeable : t -> bool OBus_property.r
val state : t -> UPower_device.state OBus_property.r
val is_present : t -> bool OBus_property.r
val percentage : t -> float OBus_property.r
val time_to_full : t -> int64 OBus_property.r
val time_to_empty : t -> int64 OBus_property.r
val voltage : t -> float OBus_property.r
val energy_rate : t -> float OBus_property.r
val energy_full_design : t -> float OBus_property.r
val energy_full : t -> float OBus_property.r
val energy_empty : t -> float OBus_property.r
val energy : t -> float OBus_property.r
val online : t -> bool OBus_property.r
val has_statistics : t -> bool OBus_property.r
val has_history : t -> bool OBus_property.r
val power_supply : t -> bool OBus_property.r
val typ : t -> UPower_device.typ OBus_property.r
val update_time : t -> int64 OBus_property.r
val serial : t -> string OBus_property.r
val model : t -> string OBus_property.r
val vendor : t -> string OBus_property.r
val native_path : t -> string OBus_property.r
val properties : t -> OBus_property.group
end`