sig
  type t = {
    caseSensitive : bool;
    extractA : string;
    extractB : string;
    fieldA : string;
    fieldAIndex : int;
    fieldARequired : bool;
    fieldB : string;
    fieldBIndex : int;
    fieldBRequired : bool;
    outputConstructor : string;
    outputToField : string;
    outputToFieldIndex : int;
    overrideOutputField : bool;
  }
  val caseSensitive :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, bool) GapiLens.t
  val extractA :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, string) GapiLens.t
  val extractB :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, string) GapiLens.t
  val fieldA :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, string) GapiLens.t
  val fieldAIndex :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, int) GapiLens.t
  val fieldARequired :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, bool) GapiLens.t
  val fieldB :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, string) GapiLens.t
  val fieldBIndex :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, int) GapiLens.t
  val fieldBRequired :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, bool) GapiLens.t
  val outputConstructor :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, string) GapiLens.t
  val outputToField :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, string) GapiLens.t
  val outputToFieldIndex :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, int) GapiLens.t
  val overrideOutputField :
    (GapiAnalyticsV3Model.Filter.AdvancedDetails.t, bool) GapiLens.t
  val empty : GapiAnalyticsV3Model.Filter.AdvancedDetails.t
  val render :
    GapiAnalyticsV3Model.Filter.AdvancedDetails.t ->
    GapiJson.json_data_model list
  val parse :
    GapiAnalyticsV3Model.Filter.AdvancedDetails.t ->
    GapiJson.json_data_model -> GapiAnalyticsV3Model.Filter.AdvancedDetails.t
end