sig
  module EventConditions :
    sig
      type t = {
        comparisonType : string;
        comparisonValue : int64;
        expression : string;
        matchType : string;
        _type : string;
      }
      val comparisonType :
        (GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t, string)
        GapiLens.t
      val comparisonValue :
        (GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t, int64)
        GapiLens.t
      val expression :
        (GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t, string)
        GapiLens.t
      val matchType :
        (GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t, string)
        GapiLens.t
      val _type :
        (GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t, string)
        GapiLens.t
      val empty : GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t
      val render :
        GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t ->
        GapiJson.json_data_model list
      val parse :
        GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t ->
        GapiJson.json_data_model ->
        GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t
    end
  type t = {
    eventConditions :
      GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t list;
    useEventValue : bool;
  }
  val eventConditions :
    (GapiAnalyticsV3Model.Goal.EventDetails.t,
     GapiAnalyticsV3Model.Goal.EventDetails.EventConditions.t list)
    GapiLens.t
  val useEventValue :
    (GapiAnalyticsV3Model.Goal.EventDetails.t, bool) GapiLens.t
  val empty : GapiAnalyticsV3Model.Goal.EventDetails.t
  val render :
    GapiAnalyticsV3Model.Goal.EventDetails.t -> GapiJson.json_data_model list
  val parse :
    GapiAnalyticsV3Model.Goal.EventDetails.t ->
    GapiJson.json_data_model -> GapiAnalyticsV3Model.Goal.EventDetails.t
end