`sig
exception No_such_package of string * string
exception Package_loop of string
type formal_pred = [ `NegPred of string | `Pred of string ]
val init :
?env_ocamlpath:string ->
?env_ocamlfind_destdir:string ->
?env_ocamlfind_metadir:string ->
?env_ocamlfind_commands:string ->
?env_ocamlfind_ignore_dups_in:string ->
?env_ocamlfind_ignore_dups_in_list:string list ->
?env_camllib:string ->
?env_ldconf:string -> ?config:string -> ?toolchain:string -> unit -> unit
val init_manually :
?ocamlc_command:string ->
?ocamlopt_command:string ->
?ocamlcp_command:string ->
?ocamloptp_command:string ->
?ocamlmklib_command:string ->
?ocamlmktop_command:string ->
?ocamldep_command:string ->
?ocamlbrowser_command:string ->
?ocamldoc_command:string ->
?ignore_dups_in:string ->
?ignore_dups_in_list:string list ->
?stdlib:string ->
?ldconf:string ->
?config:string ->
install_dir:string ->
meta_dir:string -> search_path:string list -> unit -> unit
val config_file : unit -> string
val default_location : unit -> string
val meta_directory : unit -> string
val search_path : unit -> string list
val command :
[ `ocamlbrowser
| `ocamlc
| `ocamlcp
| `ocamldep
| `ocamldoc
| `ocamlmklib
| `ocamlmktop
| `ocamlopt
| `ocamloptp ] -> string
val ocaml_stdlib : unit -> string
val ocaml_ldconf : unit -> string
val package_directory : string -> string
val package_meta_file : string -> string
val ignore_dups_in : unit -> string list
val package_property : string list -> string -> string -> string
val package_property_2 :
string list -> string -> string -> string * Findlib.formal_pred list
val package_ancestors : string list -> string -> string list
val package_deep_ancestors : string list -> string list -> string list
val resolve_path : ?base:string -> ?explicit:bool -> string -> string
val list_packages : ?tab:int -> ?descr:bool -> Stdlib.out_channel -> unit
val list_packages' : ?prefix:string -> unit -> string list
type rectype = Record_core | Record_load
val record_package : Findlib.rectype -> string -> unit
val record_package_predicates : string list -> unit
val recorded_packages : Findlib.rectype -> string list
val is_recorded_package : string -> bool
val type_of_recorded_package : string -> Findlib.rectype
val recorded_predicates : unit -> string list
val reset_recordings : unit -> unit
end`