`sig
val repo : OpamTypes.repository
val packages : OpamPackage.Set.t
val compilers : OpamCompiler.Set.t
type 'a action = [ `Keep | `Remove | `Update of 'a ]
val iter_packages_gen :
(OpamPackage.t ->
prefix:string option ->
opam:OpamFile.OPAM.t ->
descr:OpamFile.Descr.t option ->
url:OpamFile.URL.t option ->
dot_install:OpamFile.Dot_install.t option ->
OpamFile.OPAM.t * OpamFile.Descr.t Opam_admin_top.action *
OpamFile.URL.t Opam_admin_top.action *
OpamFile.Dot_install.t Opam_admin_top.action) ->
unit
val filter_packages : string list -> OpamPackage.t -> bool
val iter_packages :
?filter:(OpamPackage.t -> bool) ->
?f:(OpamPackage.t -> string option -> OpamFile.OPAM.t -> unit) ->
?opam:(OpamPackage.t -> OpamFile.OPAM.t -> OpamFile.OPAM.t) ->
?descr:(OpamPackage.t -> OpamFile.Descr.t -> OpamFile.Descr.t) ->
?url:(OpamPackage.t -> OpamFile.URL.t -> OpamFile.URL.t) ->
?dot_install:(OpamPackage.t ->
OpamFile.Dot_install.t -> OpamFile.Dot_install.t) ->
unit -> unit
val iter_compilers_gen :
(OpamCompiler.t ->
prefix:string option ->
comp:OpamFile.Comp.t ->
descr:OpamFile.Descr.t option ->
OpamFile.Comp.t * OpamFile.Descr.t Opam_admin_top.action) ->
unit
val filter_compilers : string list -> OpamCompiler.t -> bool
val iter_compilers :
?filter:(OpamCompiler.t -> bool) ->
?f:(OpamCompiler.t -> string option -> OpamFile.Comp.t -> unit) ->
?comp:(OpamCompiler.t -> OpamFile.Comp.t -> OpamFile.Comp.t) ->
?descr:(OpamCompiler.t -> OpamFile.Descr.t -> OpamFile.Descr.t) ->
unit -> unit
end`