sig
  val ns_gAcl : string
  module RoleWithKey :
    sig
      type t = { key : string; role : string; }
      val key : (GdataACL.RoleWithKey.t, string) GapiLens.t
      val role : (GdataACL.RoleWithKey.t, string) GapiLens.t
      val empty : t
      val to_xml_data_model : t -> GdataCore.xml_data_model list
      val of_xml_data_model : t -> GdataCore.xml_data_model -> t
    end
  module Scope :
    sig
      type t = { _type : string; value : string; name : string; }
      val _type : (GdataACL.Scope.t, string) GapiLens.t
      val value : (GdataACL.Scope.t, string) GapiLens.t
      val name : (GdataACL.Scope.t, string) GapiLens.t
      val empty : t
      val to_xml_data_model : t -> GdataCore.xml_data_model list
      val of_xml_data_model : t -> GdataCore.xml_data_model -> t
    end
  module Entry :
    sig
      type t = {
        common : GdataAtom.BasicEntry.t;
        scope : GdataACL.Scope.t;
        role : string;
        additionalRole : string;
        withKey : GdataACL.RoleWithKey.t;
        batch : GdataBatch.BatchExtensions.t;
      }
      val common : (GdataACL.Entry.t, GdataAtom.BasicEntry.t) GapiLens.t
      val scope : (GdataACL.Entry.t, GdataACL.Scope.t) GapiLens.t
      val role : (GdataACL.Entry.t, string) GapiLens.t
      val additionalRole : (GdataACL.Entry.t, string) GapiLens.t
      val withKey : (GdataACL.Entry.t, GdataACL.RoleWithKey.t) GapiLens.t
      val batch : (GdataACL.Entry.t, GdataBatch.BatchExtensions.t) GapiLens.t
      val etag : (GdataACL.Entry.t, string) GapiLens.t
      val id : (GdataACL.Entry.t, GdataAtom.atom_id) GapiLens.t
      val links : (GdataACL.Entry.t, GdataAtom.Link.t list) GapiLens.t
      val categories :
        (GdataACL.Entry.t, GdataAtom.Category.t list) GapiLens.t
      val empty : t
      val to_xml_data_model : t -> GdataCore.xml_data_model list
      val of_xml_data_model : t -> GdataCore.xml_data_model -> t
    end
  val parse_entry : GdataCore.xml_data_model -> GdataACL.Entry.t
  val entry_to_data_model : GdataACL.Entry.t -> GdataCore.xml_data_model
  module Feed :
    sig
      type entry_t = Entry.t
      type link_t = GdataAtom.Link.t
      type extensions_t
      type t = {
        etag : string;
        kind : string;
        authors : GdataAtom.Author.t list;
        categories : GdataAtom.Category.t list;
        contributors : GdataAtom.Contributor.t list;
        generator : GdataAtom.Generator.t;
        icon : GdataAtom.atom_icon;
        id : GdataAtom.atom_id;
        updated : GdataAtom.atom_updated;
        entries : entry_t list;
        links : link_t list;
        logo : GdataAtom.atom_logo;
        rights : GdataAtom.Rights.t;
        subtitle : GdataAtom.Subtitle.t;
        title : GdataAtom.Title.t;
        totalResults : GdataAtom.opensearch_totalResults;
        itemsPerPage : GdataAtom.opensearch_itemsPerPage;
        startIndex : GdataAtom.opensearch_startIndex;
        extensions : extensions_t;
      }
      val etag : (t, string) GapiLens.t
      val kind : (t, string) GapiLens.t
      val authors : (t, GdataAtom.Author.t list) GapiLens.t
      val categories : (t, GdataAtom.Category.t list) GapiLens.t
      val contributors : (t, GdataAtom.Contributor.t list) GapiLens.t
      val generator : (t, GdataAtom.Generator.t) GapiLens.t
      val icon : (t, GdataAtom.atom_icon) GapiLens.t
      val id : (t, GdataAtom.atom_id) GapiLens.t
      val updated : (t, GdataAtom.atom_updated) GapiLens.t
      val entries : (t, entry_t list) GapiLens.t
      val links : (t, link_t list) GapiLens.t
      val logo : (t, GdataAtom.atom_logo) GapiLens.t
      val rights : (t, GdataAtom.Rights.t) GapiLens.t
      val subtitle : (t, GdataAtom.Subtitle.t) GapiLens.t
      val title : (t, GdataAtom.Title.t) GapiLens.t
      val totalResults : (t, GdataAtom.opensearch_totalResults) GapiLens.t
      val itemsPerPage : (t, GdataAtom.opensearch_itemsPerPage) GapiLens.t
      val startIndex : (t, GdataAtom.opensearch_startIndex) GapiLens.t
      val extensions : (t, extensions_t) GapiLens.t
      val empty : t
      val to_xml_data_model : t -> GdataCore.xml_data_model list
      val of_xml_data_model : t -> GdataCore.xml_data_model -> t
      val parse_feed : GdataCore.xml_data_model -> t
    end
  val parse_feed : GdataCore.xml_data_model -> GdataACL.Feed.t
  val feed_to_data_model : GdataACL.Feed.t -> GdataCore.xml_data_model
  module Rel :
    sig
      type t =
          [ `Acl
          | `Alternate
          | `Batch
          | `Edit
          | `EditMedia
          | `Feed
          | `Post
          | `ResumableCreateMedia
          | `ResumableEditMedia
          | `Self ]
      val to_string : [> GdataACL.Rel.t ] -> string
    end
  val find_url : GdataACL.Rel.t -> GdataAtom.Link.t list -> string
  val get_acl_prefix : string -> string
end