sig
  type rotation = Rotate0 | Rotate90 | Rotate180 | Rotate270
  val int_of_rotation : Pdfdoc.rotation -> int
  val rotation_of_int : int -> Pdfdoc.rotation
  type page = {
    content : Pdf.pdfobject list;
    mediabox : Pdf.pdfobject;
    resources : Pdf.pdfobject;
    rotate : Pdfdoc.rotation;
    rest : Pdf.pdfobject;
  }
  val blankpage : Paper.papersize -> Pdfdoc.page
  val custompage : Pdf.pdfobject -> Pdfdoc.page
  val renumber_pages : Pdf.pdfdoc -> Pdfdoc.page list -> Pdfdoc.page list
  val pages_of_pagetree : Pdf.pdfdoc -> Pdfdoc.page list
  val add_pagetree : Pdfdoc.page list -> Pdf.pdfdoc -> Pdf.pdfdoc * int
  val add_root :
    int -> (string * Pdf.pdfobject) list -> Pdf.pdfdoc -> Pdf.pdfdoc
  val change_pages : bool -> Pdf.pdfdoc -> Pdfdoc.page list -> Pdf.pdfdoc
  val pagetree_make_explicit : Pdf.pdfdoc -> Pdf.pdfdoc
end