sig
  type read = Perms.Read.t
  type write = Perms.Write.t
  type immutable = Perms.Immutable.t
  type read_write = Perms.Read_write.t
  type 'a perms = 'Perms.Upper_bound.t
  val read_of_sexp : Sexplib.Sexp.t -> Perms.Export.read
  val sexp_of_read : Perms.Export.read -> Sexplib.Sexp.t
  val compare_read : Perms.Export.read -> Perms.Export.read -> int
  val bin_read : Perms.Export.read Bin_prot.Type_class.t
  val bin_read_read : Perms.Export.read Bin_prot.Read.reader
  val __bin_read_read__ : (int -> Perms.Export.read) Bin_prot.Read.reader
  val bin_reader_read : Perms.Export.read Bin_prot.Type_class.reader
  val bin_size_read : Perms.Export.read Bin_prot.Size.sizer
  val bin_write_read : Perms.Export.read Bin_prot.Write.writer
  val bin_writer_read : Perms.Export.read Bin_prot.Type_class.writer
  val write_of_sexp : Sexplib.Sexp.t -> Perms.Export.write
  val sexp_of_write : Perms.Export.write -> Sexplib.Sexp.t
  val compare_write : Perms.Export.write -> Perms.Export.write -> int
  val immutable_of_sexp : Sexplib.Sexp.t -> Perms.Export.immutable
  val sexp_of_immutable : Perms.Export.immutable -> Sexplib.Sexp.t
  val compare_immutable :
    Perms.Export.immutable -> Perms.Export.immutable -> int
  val bin_immutable : Perms.Export.immutable Bin_prot.Type_class.t
  val bin_read_immutable : Perms.Export.immutable Bin_prot.Read.reader
  val __bin_read_immutable__ :
    (int -> Perms.Export.immutable) Bin_prot.Read.reader
  val bin_reader_immutable :
    Perms.Export.immutable Bin_prot.Type_class.reader
  val bin_size_immutable : Perms.Export.immutable Bin_prot.Size.sizer
  val bin_write_immutable : Perms.Export.immutable Bin_prot.Write.writer
  val bin_writer_immutable :
    Perms.Export.immutable Bin_prot.Type_class.writer
  val read_write_of_sexp : Sexplib.Sexp.t -> Perms.Export.read_write
  val sexp_of_read_write : Perms.Export.read_write -> Sexplib.Sexp.t
  val compare_read_write :
    Perms.Export.read_write -> Perms.Export.read_write -> int
  val bin_read_write : Perms.Export.read_write Bin_prot.Type_class.t
  val bin_read_read_write : Perms.Export.read_write Bin_prot.Read.reader
  val __bin_read_read_write__ :
    (int -> Perms.Export.read_write) Bin_prot.Read.reader
  val bin_reader_read_write :
    Perms.Export.read_write Bin_prot.Type_class.reader
  val bin_size_read_write : Perms.Export.read_write Bin_prot.Size.sizer
  val bin_write_read_write : Perms.Export.read_write Bin_prot.Write.writer
  val bin_writer_read_write :
    Perms.Export.read_write Bin_prot.Type_class.writer
  val perms_of_sexp :
    (Sexplib.Sexp.t -> 'a) -> Sexplib.Sexp.t -> 'Perms.Export.perms
  val sexp_of_perms :
    ('-> Sexplib.Sexp.t) -> 'Perms.Export.perms -> Sexplib.Sexp.t
  val compare_perms :
    ('-> '-> int) ->
    'Perms.Export.perms -> 'Perms.Export.perms -> int
  val bin_perms :
    'Bin_prot.Type_class.t -> 'Perms.Export.perms Bin_prot.Type_class.t
  val bin_read_perms :
    'Bin_prot.Read.reader -> 'Perms.Export.perms Bin_prot.Read.reader
  val __bin_read_perms__ :
    'Bin_prot.Read.reader ->
    (int -> 'Perms.Export.perms) Bin_prot.Read.reader
  val bin_reader_perms :
    'Bin_prot.Type_class.reader ->
    'Perms.Export.perms Bin_prot.Type_class.reader
  val bin_size_perms :
    'Bin_prot.Size.sizer -> 'Perms.Export.perms Bin_prot.Size.sizer
  val bin_write_perms :
    'Bin_prot.Write.writer -> 'Perms.Export.perms Bin_prot.Write.writer
  val bin_writer_perms :
    'Bin_prot.Type_class.writer ->
    'Perms.Export.perms Bin_prot.Type_class.writer
end