`sig type variable_option = [ `Blanked | `Non_ignorable | `Shift_Trimmed | `Shifted ] type precision = [ `Primary | `Quaternary | `Secondary | `Tertiary ] module type Type = UCol.Type module Make : functor (Text : UnicodeString.Type) -> sig type text = Text.t type index = Text.index val compare : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> text -> text -> int val sort_key : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> text -> string val compare_with_key : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> string -> text -> int val search_with_key : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> string -> text -> index -> index * index val search : ?locale:string -> ?prec:UCol.precision -> ?variable:UCol.variable_option -> text -> text -> index -> index * index end end`