sig
  type t = {
    additionalRoles : string list;
    authKey : string;
    domain : string;
    emailAddress : string;
    etag : string;
    expirationDate : GapiDate.t;
    id : string;
    kind : string;
    name : string;
    photoLink : string;
    role : string;
    selfLink : string;
    _type : string;
    value : string;
    withLink : bool;
  }
  val additionalRoles :
    (GapiDriveV2Model.Permission.t, string list) GapiLens.t
  val authKey : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val domain : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val emailAddress : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val etag : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val expirationDate : (GapiDriveV2Model.Permission.t, GapiDate.t) GapiLens.t
  val id : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val kind : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val name : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val photoLink : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val role : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val selfLink : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val _type : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val value : (GapiDriveV2Model.Permission.t, string) GapiLens.t
  val withLink : (GapiDriveV2Model.Permission.t, bool) GapiLens.t
  val empty : GapiDriveV2Model.Permission.t
  val render : GapiDriveV2Model.Permission.t -> GapiJson.json_data_model list
  val parse :
    GapiDriveV2Model.Permission.t ->
    GapiJson.json_data_model -> GapiDriveV2Model.Permission.t
  val to_data_model :
    GapiDriveV2Model.Permission.t -> GapiJson.json_data_model
  val of_data_model :
    GapiJson.json_data_model -> GapiDriveV2Model.Permission.t
end