sig
  type message_type = Invalid | Method_call | Method_return | Error | Signal
  type message_header = {
    serial : int32;
    ty : DBus.Message.message_type;
    destination : DBus.service option;
    path : DBus.path option;
    interface : DBus.interface option;
    member : string option;
    error_name : DBus.error_name option;
    sender : string option;
  }
  val string_of_message_ty : DBus.Message.message_type -> string
  val create : DBus.Message.message_type -> DBus.message
  val new_method_call :
    DBus.service -> DBus.path -> DBus.interface -> string -> DBus.message
  val new_method_return : DBus.message -> DBus.message
  val new_signal : DBus.path -> DBus.interface -> string -> DBus.message
  val new_error : DBus.message -> DBus.error_name -> string -> DBus.message
  val get_header : DBus.message -> DBus.Message.message_header
  val append : DBus.message -> DBus.ty list -> unit
  val get : DBus.message -> DBus.ty list
  val marshal : DBus.message -> string
  val set_path : DBus.message -> DBus.path -> unit
  val set_interface : DBus.message -> DBus.interface -> unit
  val set_member : DBus.message -> string -> unit
  val set_error_name : DBus.message -> DBus.error_name -> unit
  val set_destination : DBus.message -> DBus.service -> unit
  val set_sender : DBus.message -> string -> unit
  val set_reply_serial : DBus.message -> int32 -> unit
  val set_auto_start : DBus.message -> bool -> unit
  val has_path : DBus.message -> DBus.path -> bool
  val has_interface : DBus.message -> DBus.interface -> bool
  val has_member : DBus.message -> string -> bool
  val has_destination : DBus.message -> DBus.service -> bool
  val has_sender : DBus.message -> string -> bool
  val has_signature : DBus.message -> string -> bool
  val get_type : DBus.message -> DBus.Message.message_type
  val get_path : DBus.message -> DBus.path option
  val get_interface : DBus.message -> DBus.interface option
  val get_member : DBus.message -> string option
  val get_error_name : DBus.message -> DBus.error_name option
  val get_destination : DBus.message -> DBus.service option
  val get_sender : DBus.message -> string option
  val get_signature : DBus.message -> string option
  val get_serial : DBus.message -> int32
  val get_reply_serial : DBus.message -> int32
  val get_auto_start : DBus.message -> bool
  val is_signal : DBus.message -> DBus.interface -> string -> bool
  val is_method_call : DBus.message -> DBus.interface -> string -> bool
  val is_error : DBus.message -> string -> bool
end