sig
  type line =
      [ `AI
      | `AL
      | `B2
      | `BA
      | `BB
      | `BK
      | `CB
      | `CJ
      | `CL
      | `CM
      | `CP
      | `CR
      | `EB
      | `EM
      | `EX
      | `GL
      | `H2
      | `H3
      | `HL
      | `HY
      | `ID
      | `IN
      | `IS
      | `JL
      | `JT
      | `JV
      | `LF
      | `NL
      | `NS
      | `NU
      | `OP
      | `PO
      | `PR
      | `QU
      | `RI
      | `SA
      | `SG
      | `SP
      | `SY
      | `WJ
      | `XX
      | `ZW
      | `ZWJ ]
  val pp_line : Format.formatter -> Uucp.Break.line -> unit
  val line : Uucp.uchar -> Uucp.Break.line
  type grapheme_cluster =
      [ `CN
      | `CR
      | `EB
      | `EBG
      | `EM
      | `EX
      | `GAZ
      | `L
      | `LF
      | `LV
      | `LVT
      | `PP
      | `RI
      | `SM
      | `T
      | `V
      | `XX
      | `ZWJ ]
  val pp_grapheme_cluster :
    Format.formatter -> Uucp.Break.grapheme_cluster -> unit
  val grapheme_cluster : Uucp.uchar -> Uucp.Break.grapheme_cluster
  type word =
      [ `CR
      | `DQ
      | `EB
      | `EBG
      | `EM
      | `EX
      | `Extend
      | `FO
      | `GAZ
      | `HL
      | `KA
      | `LE
      | `LF
      | `MB
      | `ML
      | `MN
      | `NL
      | `NU
      | `RI
      | `SQ
      | `XX
      | `ZWJ ]
  val pp_word : Format.formatter -> Uucp.Break.word -> unit
  val word : Uucp.uchar -> Uucp.Break.word
  type sentence =
      [ `AT
      | `CL
      | `CR
      | `EX
      | `FO
      | `LE
      | `LF
      | `LO
      | `NU
      | `SC
      | `SE
      | `SP
      | `ST
      | `UP
      | `XX ]
  val pp_sentence : Format.formatter -> Uucp.Break.sentence -> unit
  val sentence : Uucp.uchar -> Uucp.Break.sentence
  type east_asian_width = [ `A | `F | `H | `N | `Na | `W ]
  val pp_east_asian_width :
    Format.formatter -> Uucp.Break.east_asian_width -> unit
  val east_asian_width : Uucp.uchar -> Uucp.Break.east_asian_width
  val tty_width_hint : Uucp.uchar -> int
  module Low :
    sig
      val line : Uucp.uchar -> int
      val line_max : int
      val line_of_int : Uucp.Break.line array
      val grapheme_cluster : Uucp.uchar -> int
      val grapheme_cluster_max : int
      val grapheme_cluster_of_int : Uucp.Break.grapheme_cluster array
      val word : Uucp.uchar -> int
      val word_max : int
      val word_of_int : Uucp.Break.word array
      val sentence : Uucp.uchar -> int
      val sentence_max : int
      val sentence_of_int : Uucp.Break.sentence array
    end
end