sig
  module Urls :
    sig
      module Result :
        sig
          module Args :
            sig
              type t = { _type : string; value : string; }
              val _type :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t,
                 string)
                GapiLens.t
              val value :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t,
                 string)
                GapiLens.t
              val empty :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
              val render :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t ->
                GapiJson.json_data_model ->
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
            end
          type t = {
            args :
              GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
              list;
            format : string;
          }
          val args :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t,
             GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.Args.t
             list)
            GapiLens.t
          val format :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t,
             string)
            GapiLens.t
          val empty :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t
          val render :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t ->
            GapiJson.json_data_model ->
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t
        end
      module Details :
        sig
          module Args :
            sig
              type t = { _type : string; value : string; }
              val _type :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t,
                 string)
                GapiLens.t
              val value :
                (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t,
                 string)
                GapiLens.t
              val empty :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
              val render :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t ->
                GapiJson.json_data_model list
              val parse :
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t ->
                GapiJson.json_data_model ->
                GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
            end
          type t = {
            args :
              GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
              list;
            format : string;
          }
          val args :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t,
             GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.Args.t
             list)
            GapiLens.t
          val format :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t,
             string)
            GapiLens.t
          val empty :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
          val render :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t ->
            GapiJson.json_data_model ->
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
        end
      type t = {
        details :
          GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
          list;
        result :
          GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t;
      }
      val details :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t,
         GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Details.t
         list)
        GapiLens.t
      val result :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t,
         GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.Result.t)
        GapiLens.t
      val empty :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
      val render :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t ->
        GapiJson.json_data_model ->
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
    end
  module Header :
    sig
      module Args :
        sig
          type t = { _type : string; value : string; }
          val _type :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t,
             string)
            GapiLens.t
          val value :
            (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t,
             string)
            GapiLens.t
          val empty :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
          val render :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t ->
            GapiJson.json_data_model list
          val parse :
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t ->
            GapiJson.json_data_model ->
            GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
        end
      type t = {
        args :
          GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
          list;
        format : string;
      }
      val args :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t,
         GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.Args.t
         list)
        GapiLens.t
      val format :
        (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t,
         string)
        GapiLens.t
      val empty :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t
      val render :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t ->
        GapiJson.json_data_model list
      val parse :
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t ->
        GapiJson.json_data_model ->
        GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t
    end
  type t = {
    header :
      GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t;
    urls :
      GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
      list;
  }
  val header :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t,
     GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Header.t)
    GapiLens.t
  val urls :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t,
     GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.Urls.t
     list)
    GapiLens.t
  val empty :
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
  val render :
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t ->
    GapiJson.json_data_model list
  val parse :
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t ->
    GapiJson.json_data_model ->
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
end