sig
  type 'a t = {
    interface : OBus_name.interface;
    member : OBus_name.member;
    args : 'OBus_value.arguments;
    annotations : OBus_introspect.annotation list;
  }
  val make :
    interface:OBus_name.interface ->
    member:OBus_name.member ->
    args:'OBus_value.arguments ->
    annotations:OBus_introspect.annotation list -> 'OBus_member.Signal.t
  val interface : 'OBus_member.Signal.t -> OBus_name.interface
  val member : 'OBus_member.Signal.t -> OBus_name.member
  val args : 'OBus_member.Signal.t -> 'OBus_value.arguments
  val annotations :
    'OBus_member.Signal.t -> OBus_introspect.annotation list
  val introspect : 'OBus_member.Signal.t -> OBus_introspect.member
end