sig
  module UrlBlocks :
    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
  type t = {
    localizedRuleName : string;
    ruleImpact : float;
    urlBlocks :
      GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
      list;
  }
  val localizedRuleName :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t,
     string)
    GapiLens.t
  val ruleImpact :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t, float)
    GapiLens.t
  val urlBlocks :
    (GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t,
     GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.UrlBlocks.t
     list)
    GapiLens.t
  val empty :
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t
  val render :
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t ->
    GapiJson.json_data_model list
  val parse :
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t ->
    GapiJson.json_data_model ->
    GapiPagespeedonlineV1Model.Result.FormattedResults.RuleResults.t
end