sig
  type t = {
    id : string;
    deprecatedIds : string list;
    guid : string;
    deprecatedGuids : string list;
    name : string;
    deprecatedNames : string list;
    shortDescription : Sarif.MultiformatMessageString.t;
    fullDescription : Sarif.MultiformatMessageString.t;
    messageStrings : Sarif.MultiformatMessageStringDictionary.t;
    defaultConfiguration : Sarif.ReportingConfiguration.t;
    helpUri : string;
    help : Sarif.MultiformatMessageString.t;
    relationships : Sarif.ReportingDescriptorRelationship.t list;
    properties : Sarif.Properties.t;
  }
  val to_yojson : Sarif.ReportingDescriptor.t -> Yojson.Safe.t
  val of_yojson :
    Yojson.Safe.t ->
    Sarif.ReportingDescriptor.t Ppx_deriving_yojson_runtime.error_or
  val create :
    id:string ->
    ?deprecatedIds:string list ->
    ?guid:string ->
    ?deprecatedGuids:string list ->
    ?name:string ->
    ?deprecatedNames:string list ->
    ?shortDescription:Sarif.MultiformatMessageString.t ->
    ?fullDescription:Sarif.MultiformatMessageString.t ->
    ?messageStrings:Sarif.MultiformatMessageStringDictionary.t ->
    ?defaultConfiguration:Sarif.ReportingConfiguration.t ->
    ?helpUri:string ->
    ?help:Sarif.MultiformatMessageString.t ->
    ?relationships:Sarif.ReportingDescriptorRelationship.t list ->
    ?properties:Sarif.Properties.t -> unit -> Sarif.ReportingDescriptor.t
  val default : Sarif.ReportingDescriptor.t
end