sig
  val of_titles :
    Datatypes.session -> string list -> (string * Datatypes.page) Enum.t
  val of_pageids :
    Datatypes.session ->
    WTypes.page_t WTypes.Id.t list ->
    (WTypes.page_t WTypes.Id.t * Datatypes.page) Enum.t
  val normalize :
    Datatypes.session -> string list -> (string * WTypes.Title.t) Enum.t
  val revisions :
    Datatypes.session ->
    ?fromid:WTypes.revision_t WTypes.Id.t ->
    ?uptoid:WTypes.revision_t WTypes.Id.t ->
    ?fromts:WTypes.Timestamp.t ->
    ?uptots:WTypes.Timestamp.t ->
    ?order:Datatypes.order ->
    ?usrfilter:Datatypes.user_filter ->
    ?limit:int -> Datatypes.page -> Datatypes.revision Enum.t
  val of_revids :
    Datatypes.session ->
    WTypes.revision_t WTypes.Id.t list ->
    (WTypes.revision_t WTypes.Id.t * Datatypes.revision) Enum.t
  val content :
    Datatypes.session ->
    Datatypes.revision list ->
    (WTypes.revision_t WTypes.Id.t * string) Enum.t
  val last_revision_of_titles :
    Datatypes.session ->
    string list -> (string * (Datatypes.revision * string)) Enum.t
  val diff :
    Datatypes.session ->
    WTypes.revision_t WTypes.Id.t ->
    WTypes.revision_t Datatypes.relative_id -> Datatypes.diff Call.t
  val links :
    Datatypes.session ->
    ?ns:WTypes.namespace list ->
    ?limit:int -> Datatypes.page -> WTypes.Title.t Enum.t
  val langlinks :
    Datatypes.session ->
    ?limit:int -> Datatypes.page -> Datatypes.langlink Enum.t
  val images :
    Datatypes.session ->
    ?limit:int -> Datatypes.page -> WTypes.Title.t Enum.t
  val templates :
    Datatypes.session ->
    ?ns:WTypes.namespace list ->
    ?limit:int -> Datatypes.page -> WTypes.Title.t Enum.t
  val categories :
    Datatypes.session ->
    ?limit:int -> Datatypes.page -> WTypes.Title.t Enum.t
  val external_links :
    Datatypes.session -> ?limit:int -> Datatypes.page -> string Enum.t
  val dummy_title : WTypes.Title.t
  val dummy_page : WTypes.page_t WTypes.Id.t -> Datatypes.page
  val dummy_revision : WTypes.revision_t WTypes.Id.t -> Datatypes.revision
end