sig
  module Org_freedesktop_NetworkManager :
    sig
      val interface : OBus_name.interface
      val m_ActivateConnection :
        (string * OBus_path.t * OBus_path.t * OBus_path.t, OBus_path.t)
        OBus_member.Method.t
      val m_DeactivateConnection : (OBus_path.t, unit) OBus_member.Method.t
      val m_GetDevices : (unit, OBus_path.t list) OBus_member.Method.t
      val m_Sleep : (bool, unit) OBus_member.Method.t
      val s_DeviceAdded : OBus_path.t OBus_member.Signal.t
      val s_DeviceRemoved : OBus_path.t OBus_member.Signal.t
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val s_StateChanged : int32 OBus_member.Signal.t
      val p_ActiveConnections :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_State : (int32, [ `readable ]) OBus_member.Property.t
      val p_WirelessEnabled :
        (bool, [ `readable | `writable ]) OBus_member.Property.t
      val p_WirelessHardwareEnabled :
        (bool, [ `readable ]) OBus_member.Property.t
      val p_WwanEnabled :
        (bool, [ `readable | `writable ]) OBus_member.Property.t
      val p_WwanHardwareEnabled :
        (bool, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_ActivateConnection :
          'OBus_object.t ->
          string * OBus_path.t * OBus_path.t * OBus_path.t ->
          OBus_path.t Lwt.t;
        m_DeactivateConnection :
          'OBus_object.t -> OBus_path.t -> unit Lwt.t;
        m_GetDevices : 'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
        m_Sleep : 'OBus_object.t -> bool -> unit Lwt.t;
        p_ActiveConnections :
          'OBus_object.t -> OBus_path.t list React.signal;
        p_State : 'OBus_object.t -> int32 React.signal;
        p_WirelessEnabled :
          ('OBus_object.t -> bool React.signal) *
          ('OBus_object.t -> bool -> unit Lwt.t);
        p_WirelessHardwareEnabled : 'OBus_object.t -> bool React.signal;
        p_WwanEnabled :
          ('OBus_object.t -> bool React.signal) *
          ('OBus_object.t -> bool -> unit Lwt.t);
        p_WwanHardwareEnabled : 'OBus_object.t -> bool React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_AccessPoint :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_Flags : (int32, [ `readable ]) OBus_member.Property.t
      val p_Frequency : (int32, [ `readable ]) OBus_member.Property.t
      val p_HwAddress : (string, [ `readable ]) OBus_member.Property.t
      val p_MaxBitrate : (int32, [ `readable ]) OBus_member.Property.t
      val p_Mode : (int32, [ `readable ]) OBus_member.Property.t
      val p_RsnFlags : (int32, [ `readable ]) OBus_member.Property.t
      val p_Ssid : (string, [ `readable ]) OBus_member.Property.t
      val p_Strength : (char, [ `readable ]) OBus_member.Property.t
      val p_WpaFlags : (int32, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Flags : 'OBus_object.t -> int32 React.signal;
        p_Frequency : 'OBus_object.t -> int32 React.signal;
        p_HwAddress : 'OBus_object.t -> string React.signal;
        p_MaxBitrate : 'OBus_object.t -> int32 React.signal;
        p_Mode : 'OBus_object.t -> int32 React.signal;
        p_RsnFlags : 'OBus_object.t -> int32 React.signal;
        p_Ssid : 'OBus_object.t -> string React.signal;
        p_Strength : 'OBus_object.t -> char React.signal;
        p_WpaFlags : 'OBus_object.t -> int32 React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_AccessPoint.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Connection_Active :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_Connection : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_Default : (bool, [ `readable ]) OBus_member.Property.t
      val p_Devices :
        (OBus_path.t list, [ `readable ]) OBus_member.Property.t
      val p_ServiceName : (string, [ `readable ]) OBus_member.Property.t
      val p_SpecificObject :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_State : (int32, [ `readable ]) OBus_member.Property.t
      val p_Vpn : (bool, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Connection : 'OBus_object.t -> OBus_path.t React.signal;
        p_Default : 'OBus_object.t -> bool React.signal;
        p_Devices : 'OBus_object.t -> OBus_path.t list React.signal;
        p_ServiceName : 'OBus_object.t -> string React.signal;
        p_SpecificObject : 'OBus_object.t -> OBus_path.t React.signal;
        p_State : 'OBus_object.t -> int32 React.signal;
        p_Vpn : 'OBus_object.t -> bool React.signal;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManager_Connection_Active.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_DHCP4Config :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_Options :
        ((string * OBus_value.V.single) list, [ `readable ])
        OBus_member.Property.t
      type 'a members = {
        p_Options :
          'OBus_object.t ->
          (string * OBus_value.V.single) list React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_DHCP4Config.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device :
    sig
      val interface : OBus_name.interface
      val m_Disconnect : (unit, unit) OBus_member.Method.t
      val s_StateChanged : (int32 * int32 * int32) OBus_member.Signal.t
      val p_Capabilities : (int32, [ `readable ]) OBus_member.Property.t
      val p_DeviceType : (int32, [ `readable ]) OBus_member.Property.t
      val p_Dhcp4Config : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_Driver : (string, [ `readable ]) OBus_member.Property.t
      val p_Interface : (string, [ `readable ]) OBus_member.Property.t
      val p_Ip4Address : (int32, [ `readable ]) OBus_member.Property.t
      val p_Ip4Config : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_Ip6Config : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_Managed : (bool, [ `readable ]) OBus_member.Property.t
      val p_State : (int32, [ `readable ]) OBus_member.Property.t
      val p_Udi : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_Disconnect : 'OBus_object.t -> unit -> unit Lwt.t;
        p_Capabilities : 'OBus_object.t -> int32 React.signal;
        p_DeviceType : 'OBus_object.t -> int32 React.signal;
        p_Dhcp4Config : 'OBus_object.t -> OBus_path.t React.signal;
        p_Driver : 'OBus_object.t -> string React.signal;
        p_Interface : 'OBus_object.t -> string React.signal;
        p_Ip4Address : 'OBus_object.t -> int32 React.signal;
        p_Ip4Config : 'OBus_object.t -> OBus_path.t React.signal;
        p_Ip6Config : 'OBus_object.t -> OBus_path.t React.signal;
        p_Managed : 'OBus_object.t -> bool React.signal;
        p_State : 'OBus_object.t -> int32 React.signal;
        p_Udi : 'OBus_object.t -> string React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_Device.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_Bluetooth :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_BtCapabilities : (int32, [ `readable ]) OBus_member.Property.t
      val p_HwAddress : (string, [ `readable ]) OBus_member.Property.t
      val p_Name : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_BtCapabilities : 'OBus_object.t -> int32 React.signal;
        p_HwAddress : 'OBus_object.t -> string React.signal;
        p_Name : 'OBus_object.t -> string React.signal;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManager_Device_Bluetooth.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_Cdma :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val make : unit -> 'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_Gsm :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val make : unit -> 'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_OlpcMesh :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_ActiveChannel : (int32, [ `readable ]) OBus_member.Property.t
      val p_Companion : (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_HwAddress : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_ActiveChannel : 'OBus_object.t -> int32 React.signal;
        p_Companion : 'OBus_object.t -> OBus_path.t React.signal;
        p_HwAddress : 'OBus_object.t -> string React.signal;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManager_Device_OlpcMesh.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_Serial :
    sig
      val interface : OBus_name.interface
      val s_PppStats : (int32 * int32) OBus_member.Signal.t
      val make : unit -> 'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_Wired :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_Carrier : (bool, [ `readable ]) OBus_member.Property.t
      val p_HwAddress : (string, [ `readable ]) OBus_member.Property.t
      val p_Speed : (int32, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Carrier : 'OBus_object.t -> bool React.signal;
        p_HwAddress : 'OBus_object.t -> string React.signal;
        p_Speed : 'OBus_object.t -> int32 React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_Device_Wired.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_Device_Wireless :
    sig
      val interface : OBus_name.interface
      val m_GetAccessPoints : (unit, OBus_path.t list) OBus_member.Method.t
      val s_AccessPointAdded : OBus_path.t OBus_member.Signal.t
      val s_AccessPointRemoved : OBus_path.t OBus_member.Signal.t
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_ActiveAccessPoint :
        (OBus_path.t, [ `readable ]) OBus_member.Property.t
      val p_Bitrate : (int32, [ `readable ]) OBus_member.Property.t
      val p_HwAddress : (string, [ `readable ]) OBus_member.Property.t
      val p_Mode : (int32, [ `readable ]) OBus_member.Property.t
      val p_WirelessCapabilities :
        (int32, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_GetAccessPoints :
          'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
        p_ActiveAccessPoint : 'OBus_object.t -> OBus_path.t React.signal;
        p_Bitrate : 'OBus_object.t -> int32 React.signal;
        p_HwAddress : 'OBus_object.t -> string React.signal;
        p_Mode : 'OBus_object.t -> int32 React.signal;
        p_WirelessCapabilities : 'OBus_object.t -> int32 React.signal;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManager_Device_Wireless.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_IP4Config :
    sig
      val interface : OBus_name.interface
      val p_Addresses :
        (int32 list list, [ `readable ]) OBus_member.Property.t
      val p_Domains : (string list, [ `readable ]) OBus_member.Property.t
      val p_Nameservers : (int32 list, [ `readable ]) OBus_member.Property.t
      val p_Routes : (int32 list list, [ `readable ]) OBus_member.Property.t
      val p_WinsServers : (int32 list, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Addresses : 'OBus_object.t -> int32 list list React.signal;
        p_Domains : 'OBus_object.t -> string list React.signal;
        p_Nameservers : 'OBus_object.t -> int32 list React.signal;
        p_Routes : 'OBus_object.t -> int32 list list React.signal;
        p_WinsServers : 'OBus_object.t -> int32 list React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_IP4Config.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_IP6Config :
    sig
      val interface : OBus_name.interface
      val p_Addresses :
        ((string * int32) list, [ `readable ]) OBus_member.Property.t
      val p_Domains : (string list, [ `readable ]) OBus_member.Property.t
      val p_Nameservers : (string list, [ `readable ]) OBus_member.Property.t
      val p_Routes :
        ((string * int32 * string * int32) list, [ `readable ])
        OBus_member.Property.t
      type 'a members = {
        p_Addresses : 'OBus_object.t -> (string * int32) list React.signal;
        p_Domains : 'OBus_object.t -> string list React.signal;
        p_Nameservers : 'OBus_object.t -> string list React.signal;
        p_Routes :
          'OBus_object.t ->
          (string * int32 * string * int32) list React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_IP6Config.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_PPP :
    sig
      val interface : OBus_name.interface
      val m_NeedSecrets : (unit, string * string) OBus_member.Method.t
      val m_SetIp4Config :
        ((string * OBus_value.V.single) list, unit) OBus_member.Method.t
      val m_SetState : (int32, unit) OBus_member.Method.t
      type 'a members = {
        m_NeedSecrets : 'OBus_object.t -> unit -> (string * string) Lwt.t;
        m_SetIp4Config :
          'OBus_object.t ->
          (string * OBus_value.V.single) list -> unit Lwt.t;
        m_SetState : 'OBus_object.t -> int32 -> unit Lwt.t;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_PPP.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_VPN_Connection :
    sig
      val interface : OBus_name.interface
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val s_VpnStateChanged : (int32 * int32) OBus_member.Signal.t
      val p_Banner : (string, [ `readable ]) OBus_member.Property.t
      val p_VpnState : (int32, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        p_Banner : 'OBus_object.t -> string React.signal;
        p_VpnState : 'OBus_object.t -> int32 React.signal;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManager_VPN_Connection.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManager_VPN_Plugin :
    sig
      val interface : OBus_name.interface
      val m_Connect :
        ((string * (string * OBus_value.V.single) list) list, unit)
        OBus_member.Method.t
      val m_Disconnect : (unit, unit) OBus_member.Method.t
      val m_NeedSecrets :
        ((string * (string * OBus_value.V.single) list) list, string)
        OBus_member.Method.t
      val m_SetFailure : (string, unit) OBus_member.Method.t
      val m_SetIp4Config :
        ((string * OBus_value.V.single) list, unit) OBus_member.Method.t
      val s_Failure : int32 OBus_member.Signal.t
      val s_Ip4Config :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val s_LoginBanner : string OBus_member.Signal.t
      val s_StateChanged : int32 OBus_member.Signal.t
      val p_State : (int32, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_Connect :
          'OBus_object.t ->
          (string * (string * OBus_value.V.single) list) list -> unit Lwt.t;
        m_Disconnect : 'OBus_object.t -> unit -> unit Lwt.t;
        m_NeedSecrets :
          'OBus_object.t ->
          (string * (string * OBus_value.V.single) list) list -> string Lwt.t;
        m_SetFailure : 'OBus_object.t -> string -> unit Lwt.t;
        m_SetIp4Config :
          'OBus_object.t ->
          (string * OBus_value.V.single) list -> unit Lwt.t;
        p_State : 'OBus_object.t -> int32 React.signal;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManager_VPN_Plugin.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManagerSettings :
    sig
      val interface : OBus_name.interface
      val m_AddConnection :
        ((string * (string * OBus_value.V.single) list) list, unit)
        OBus_member.Method.t
      val m_ListConnections : (unit, OBus_path.t list) OBus_member.Method.t
      val s_NewConnection : OBus_path.t OBus_member.Signal.t
      type 'a members = {
        m_AddConnection :
          'OBus_object.t ->
          (string * (string * OBus_value.V.single) list) list -> unit Lwt.t;
        m_ListConnections :
          'OBus_object.t -> unit -> OBus_path.t list Lwt.t;
      }
      val make :
        'Nm_interfaces.Org_freedesktop_NetworkManagerSettings.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManagerSettings_Connection :
    sig
      val interface : OBus_name.interface
      val m_Delete : (unit, unit) OBus_member.Method.t
      val m_GetSettings :
        (unit, (string * (string * OBus_value.V.single) list) list)
        OBus_member.Method.t
      val m_Update :
        ((string * (string * OBus_value.V.single) list) list, unit)
        OBus_member.Method.t
      val s_Removed : unit OBus_member.Signal.t
      val s_Updated :
        (string * (string * OBus_value.V.single) list) list
        OBus_member.Signal.t
      type 'a members = {
        m_Delete : 'OBus_object.t -> unit -> unit Lwt.t;
        m_GetSettings :
          'OBus_object.t ->
          unit -> (string * (string * OBus_value.V.single) list) list Lwt.t;
        m_Update :
          'OBus_object.t ->
          (string * (string * OBus_value.V.single) list) list -> unit Lwt.t;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManagerSettings_Connection.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManagerSettings_Connection_Secrets :
    sig
      val interface : OBus_name.interface
      val m_GetSecrets :
        (string * string list * bool,
         (string * (string * OBus_value.V.single) list) list)
        OBus_member.Method.t
      type 'a members = {
        m_GetSecrets :
          'OBus_object.t ->
          string * string list * bool ->
          (string * (string * OBus_value.V.single) list) list Lwt.t;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManagerSettings_Connection_Secrets.members ->
        'OBus_object.interface
    end
  module Org_freedesktop_NetworkManagerSettings_System :
    sig
      val interface : OBus_name.interface
      val m_GetPermissions : (unit, int32) OBus_member.Method.t
      val m_SaveHostname : (string, unit) OBus_member.Method.t
      val s_CheckPermissions : unit OBus_member.Signal.t
      val s_PropertiesChanged :
        (string * OBus_value.V.single) list OBus_member.Signal.t
      val p_CanModify : (bool, [ `readable ]) OBus_member.Property.t
      val p_Hostname : (string, [ `readable ]) OBus_member.Property.t
      type 'a members = {
        m_GetPermissions : 'OBus_object.t -> unit -> int32 Lwt.t;
        m_SaveHostname : 'OBus_object.t -> string -> unit Lwt.t;
        p_CanModify : 'OBus_object.t -> bool React.signal;
        p_Hostname : 'OBus_object.t -> string React.signal;
      }
      val make :
        'a
        Nm_interfaces.Org_freedesktop_NetworkManagerSettings_System.members ->
        'OBus_object.interface
    end
end