`sig
type t
val empty : t
val write : OpamTypes.filename -> t -> unit
val read : OpamTypes.filename -> t
val safe_read : OpamTypes.filename -> t
val read_from_channel : in_channel -> t
val write_to_channel : out_channel -> t -> unit
val bin :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val sbin :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val lib :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val toplevel :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val stublibs :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val share :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val share_root :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val etc :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val doc :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val man :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val libexec :
t ->
(OpamTypes.basename OpamTypes.optional * OpamTypes.basename option) list
val misc :
t -> (OpamTypes.basename OpamTypes.optional * OpamTypes.filename) list
end`