+ val hasPriv : string -> bool
+
+ val rmdom : string list -> unit
+ val rmdom' : string -> string list -> unit
+
+ val homedirOf : string -> string
+ val homedir : unit -> string
+
+ type subject = {node : string, domain : string}
+
+ val registerDescriber : (subject -> string) -> unit
+ (* When a user runs [domtool-admin describe $DOM], every function passed to
+ * [registerDescriber] will be run on [$DOM]. *)
+ val describe : string -> string
+ (* Argument is domain to describe, over all nodes. *)
+
+ datatype description =
+ Filename of { filename : string, heading : string, showEmpty : bool }
+ | Extension of { extension : string, heading : string -> string }
+
+ val considerAll : description list -> subject -> string
+ (* Find files in a domain directory matching some patterns and generate
+ * headings and contents listings for them. *)
+
+ (* Callbacks to run whenever the set of Domtool users has changed *)
+ val registerOnUsersChange : (unit -> unit) -> unit
+ val onUsersChange : unit -> unit