sig
  type t
  val of_string : string -> t
  val to_string : t -> string
  val param :
    string ->
    (t, [ `WithoutSuffix ], [ `One of t ] Eliom_parameter.param_name)
    Eliom_parameter.params_type
  val input :
    ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
    input_type:[< `Button
                | `Checkbox
                | `Color
                | `Date
                | `Datetime
                | `Datetime_local
                | `Email
                | `File
                | `Hidden
                | `Image
                | `Month
                | `Number
                | `Password
                | `Radio
                | `Range
                | `Reset
                | `Search
                | `Submit
                | `Tel
                | `Text
                | `Time
                | `Url
                | `Week ] ->
    ?name:[< t Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:t -> unit -> [> Html5_types.input ] Eliom_content.Html5.F.elt
  val image_input :
    ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
    name:[< (t * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:t ->
    ?src:Eliom_content.Html5.F.uri ->
    unit -> [> Html5_types.input ] Eliom_content.Html5.F.elt
  val checkbox :
    ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
    ?checked:bool ->
    name:[ `Set of t ] Eliom_parameter.param_name ->
    value:t -> unit -> [> Html5_types.input ] Eliom_content.Html5.F.elt
  val radio :
    ?a:Html5_types.input_attrib Eliom_content.Html5.F.attrib list ->
    ?checked:bool ->
    name:[ `Radio of t ] Eliom_parameter.param_name ->
    value:t -> unit -> [> Html5_types.input ] Eliom_content.Html5.F.elt
  val button :
    ?a:Html5_types.button_attrib Eliom_content.Html5.F.attrib list ->
    name:[< t Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:t ->
    Html5_types.button_content Eliom_content.Html5.F.elt list ->
    [> Html5_types.button ] Eliom_content.Html5.F.elt
  val select :
    ?a:Html5_types.select_attrib Eliom_content.Html5.F.attrib list ->
    ?required:Html5_types.pcdata Eliom_content.Html5.F.elt ->
    name:[< `One of t ] Eliom_parameter.param_name ->
    t Eliom_content.Html5.F.select_opt ->
    t Eliom_content.Html5.F.select_opt list ->
    [> Html5_types.select ] Eliom_content.Html5.F.elt
end