sig
  type labelstyle =
      DecimalArabic
    | UppercaseRoman
    | LowercaseRoman
    | UppercaseLetters
    | LowercaseLetters
  type t = {
    labelstyle : Pdfpagelabels.labelstyle option;
    labelprefix : string option;
    startpage : int;
    startvalue : int;
  }
  val string_of_pagelabel : Pdfpagelabels.t -> string
  val read : Pdf.t -> Pdfpagelabels.t list
  val complete : Pdfpagelabels.t list -> Pdfpagelabels.t list
  val pagelabel_of_pagenumber :
    int -> Pdfpagelabels.t list -> Pdfpagelabels.t
  val pagelabeltext_of_pagenumber : int -> Pdfpagelabels.t list -> string
  val add_label :
    Pdfpagelabels.t list -> Pdfpagelabels.t -> int -> Pdfpagelabels.t list
  val coalesce : Pdfpagelabels.t list -> Pdfpagelabels.t list
  val merge_pagelabels : Pdf.t list -> int list list -> Pdfpagelabels.t list
  val write : Pdf.t -> Pdfpagelabels.t list -> unit
end