sig
  module type ELIOM =
    sig
      val server_dir : Ocamlbuild_plugin.Pathname.t
      val type_dir : Ocamlbuild_plugin.Pathname.t
      val client_dir : Ocamlbuild_plugin.Pathname.t
    end
  module Make :
    functor (Eliom : ELIOM->
      sig
        val dispatcher :
          ?oasis_executables:Ocamlbuild_plugin.Pathname.t list ->
          Ocamlbuild_plugin.hook -> unit
      end
  module type INTERNALS =
    sig
      val with_eliom_ppx : ([< `Client | `Server ] -> string) option
      val with_package : string -> string
    end
  module MakeIntern :
    functor (I : INTERNALS) (Eliom : ELIOM->
      sig
        val dispatcher :
          ?oasis_executables:Ocamlbuild_plugin.Pathname.t list ->
          Ocamlbuild_plugin.hook -> unit
      end
end