sig
  module Scope :
    sig
      type t = { _type : string; value : string; }
      val _type : (GapiCalendarV3Model.AclRule.Scope.t, string) GapiLens.t
      val value : (GapiCalendarV3Model.AclRule.Scope.t, string) GapiLens.t
      val empty : GapiCalendarV3Model.AclRule.Scope.t
      val render :
        GapiCalendarV3Model.AclRule.Scope.t -> GapiJson.json_data_model list
      val parse :
        GapiCalendarV3Model.AclRule.Scope.t ->
        GapiJson.json_data_model -> GapiCalendarV3Model.AclRule.Scope.t
    end
  type t = {
    etag : string;
    id : string;
    kind : string;
    role : string;
    scope : GapiCalendarV3Model.AclRule.Scope.t;
  }
  val etag : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t
  val id : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t
  val kind : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t
  val role : (GapiCalendarV3Model.AclRule.t, string) GapiLens.t
  val scope :
    (GapiCalendarV3Model.AclRule.t, GapiCalendarV3Model.AclRule.Scope.t)
    GapiLens.t
  val empty : GapiCalendarV3Model.AclRule.t
  val render : GapiCalendarV3Model.AclRule.t -> GapiJson.json_data_model list
  val parse :
    GapiCalendarV3Model.AclRule.t ->
    GapiJson.json_data_model -> GapiCalendarV3Model.AclRule.t
  val to_data_model :
    GapiCalendarV3Model.AclRule.t -> GapiJson.json_data_model
  val of_data_model :
    GapiJson.json_data_model -> GapiCalendarV3Model.AclRule.t
end