sig
  val make_uri :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    service:('get, unit, [< Eliom_service.get_service_kind ],
             [< Eliom_service.suff ], 'gn, unit,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set -> 'get -> string
  val make_string_uri :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    service:('get, unit, [< Eliom_service.get_service_kind ],
             [< Eliom_service.suff ], 'gn, unit,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set -> 'get -> string
  val uri_of_string : (unit -> string) -> string
  val make_uri_components :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    service:('get, unit, [< Eliom_service.get_service_kind ],
             [< Eliom_service.suff ], 'gn, unit,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    'get -> string * (string * string) list * string option
  val make_post_uri_components :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    service:('get, 'post, [< Eliom_service.post_service_kind ],
             [< Eliom_service.suff ], 'gn, 'pn,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    ?keep_get_na_params:bool ->
    'get ->
    'post ->
    string * (string * string) list * string option * (string * string) list
  val make_proto_prefix : ?hostname:string -> ?port:int -> bool -> string
  val a :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    ?a:string ->
    service:('get, unit, [< Eliom_service.get_service_kind ],
             [< Eliom_service.suff ], 'd, unit,
             [< Eliom_service.registrable ], 'f)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    ?xhr:bool -> string -> 'get -> string
  val css_link : ?a:string -> uri:string -> unit -> string
  val js_script : ?a:string -> uri:string -> unit -> string
  val get_form :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    ?a:string ->
    service:('get, unit, [< Eliom_service.get_service_kind ],
             [< Eliom_service.suff ], 'gn, 'pn,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    ?xhr:bool -> ('gn -> string) -> string
  val lwt_get_form :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    ?a:string ->
    service:('get, unit, [< Eliom_service.get_service_kind ],
             [< Eliom_service.suff ], 'gn, 'pn,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    ?xhr:bool -> ('gn -> string Lwt.t) -> string Lwt.t
  val post_form :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    ?a:string ->
    service:('get, 'post, [< Eliom_service.post_service_kind ],
             [< Eliom_service.suff ], 'gn, 'pn,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?keep_get_na_params:bool ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    ?xhr:bool -> ('pn -> string) -> 'get -> string
  val lwt_post_form :
    ?absolute:bool ->
    ?absolute_path:bool ->
    ?https:bool ->
    ?a:string ->
    service:('get, 'post, [< Eliom_service.post_service_kind ],
             [< Eliom_service.suff ], 'gn, 'pn,
             [< Eliom_service.registrable ], 'return)
            Eliom_service.service ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?keep_get_na_params:bool ->
    ?nl_params:Eliom_parameter.nl_params_set ->
    ?xhr:bool -> ('pn -> string Lwt.t) -> 'get -> string Lwt.t
  val int_input :
    ?a:string ->
    input_type:string ->
    ?name:[< int Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:int -> unit -> string
  val int32_input :
    ?a:string ->
    input_type:string ->
    ?name:[< int32 Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:int32 -> unit -> string
  val int64_input :
    ?a:string ->
    input_type:string ->
    ?name:[< int64 Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:int64 -> unit -> string
  val float_input :
    ?a:string ->
    input_type:string ->
    ?name:[< float Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:float -> unit -> string
  val string_input :
    ?a:string ->
    input_type:string ->
    ?name:[< string Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:string -> unit -> string
  val user_type_input :
    ('-> string) ->
    ?a:string ->
    input_type:string ->
    ?name:[< 'Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:'-> unit -> string
  val raw_input :
    ?a:string ->
    input_type:string -> ?name:string -> ?value:string -> unit -> string
  val file_input :
    ?a:string ->
    name:[< Eliom_lib.file_info Eliom_parameter.setoneradio ]
         Eliom_parameter.param_name ->
    unit -> string
  val image_input :
    ?a:string ->
    name:[< Eliom_parameter.coordinates Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    ?src:string -> unit -> string
  val int_image_input :
    ?a:string ->
    name:[< (int * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:int -> ?src:string -> unit -> string
  val int32_image_input :
    ?a:string ->
    name:[< (int32 * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:int32 -> ?src:string -> unit -> string
  val int64_image_input :
    ?a:string ->
    name:[< (int64 * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:int64 -> ?src:string -> unit -> string
  val float_image_input :
    ?a:string ->
    name:[< (float * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:float -> ?src:string -> unit -> string
  val string_image_input :
    ?a:string ->
    name:[< (string * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:string -> ?src:string -> unit -> string
  val user_type_image_input :
    ('-> string) ->
    ?a:string ->
    name:[< ('a * Eliom_parameter.coordinates) Eliom_parameter.oneradio ]
         Eliom_parameter.param_name ->
    value:'-> ?src:string -> unit -> string
  val raw_image_input :
    ?a:string -> name:string -> value:string -> ?src:string -> unit -> string
  val bool_checkbox :
    ?a:string ->
    ?checked:bool ->
    name:[ `One of bool ] Eliom_parameter.param_name -> unit -> string
  val int_checkbox :
    ?a:string ->
    ?checked:bool ->
    name:[ `Set of int ] Eliom_parameter.param_name ->
    value:int -> unit -> string
  val int32_checkbox :
    ?a:string ->
    ?checked:bool ->
    name:[ `Set of int32 ] Eliom_parameter.param_name ->
    value:int32 -> unit -> string
  val int64_checkbox :
    ?a:string ->
    ?checked:bool ->
    name:[ `Set of int64 ] Eliom_parameter.param_name ->
    value:int64 -> unit -> string
  val float_checkbox :
    ?a:string ->
    ?checked:bool ->
    name:[ `Set of float ] Eliom_parameter.param_name ->
    value:float -> unit -> string
  val string_checkbox :
    ?a:string ->
    ?checked:bool ->
    name:[ `Set of string ] Eliom_parameter.param_name ->
    value:string -> unit -> string
  val user_type_checkbox :
    ('-> string) ->
    ?a:string ->
    ?checked:bool ->
    name:[ `Set of 'a ] Eliom_parameter.param_name ->
    value:'-> unit -> string
  val raw_checkbox :
    ?a:string ->
    ?checked:bool -> name:string -> value:string -> unit -> string
  val string_radio :
    ?a:string ->
    ?checked:bool ->
    name:[ `Radio of string ] Eliom_parameter.param_name ->
    value:string -> unit -> string
  val int_radio :
    ?a:string ->
    ?checked:bool ->
    name:[ `Radio of int ] Eliom_parameter.param_name ->
    value:int -> unit -> string
  val int32_radio :
    ?a:string ->
    ?checked:bool ->
    name:[ `Radio of int32 ] Eliom_parameter.param_name ->
    value:int32 -> unit -> string
  val int64_radio :
    ?a:string ->
    ?checked:bool ->
    name:[ `Radio of int64 ] Eliom_parameter.param_name ->
    value:int64 -> unit -> string
  val float_radio :
    ?a:string ->
    ?checked:bool ->
    name:[ `Radio of float ] Eliom_parameter.param_name ->
    value:float -> unit -> string
  val user_type_radio :
    ('-> string) ->
    ?a:string ->
    ?checked:bool ->
    name:[ `Radio of 'a ] Eliom_parameter.param_name ->
    value:'-> unit -> string
  val raw_radio :
    ?a:string ->
    ?checked:bool -> name:string -> value:string -> unit -> string
  val string_button :
    ?a:string ->
    name:[< string Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:string -> string -> string
  val int_button :
    ?a:string ->
    name:[< int Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:int -> string -> string
  val int32_button :
    ?a:string ->
    name:[< int32 Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:int32 -> string -> string
  val int64_button :
    ?a:string ->
    name:[< int64 Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:int64 -> string -> string
  val float_button :
    ?a:string ->
    name:[< float Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:float -> string -> string
  val user_type_button :
    ('-> string) ->
    ?a:string ->
    name:[< 'Eliom_parameter.setone ] Eliom_parameter.param_name ->
    value:'-> string -> string
  val raw_button :
    ?a:string ->
    button_type:string -> name:string -> value:string -> string -> string
  val button : ?a:string -> button_type:string -> string -> string
  val textarea :
    ?a:string ->
    name:[< string Eliom_parameter.setoneradio ] Eliom_parameter.param_name ->
    ?value:string -> unit -> string
  val raw_textarea :
    ?a:string -> name:string -> ?value:string -> unit -> string
  type 'a soption = string * 'a * string option * bool
  type 'a select_opt =
      Optgroup of string * string * 'Eliom_content.Html_text.soption *
        'Eliom_content.Html_text.soption list
    | Option of 'Eliom_content.Html_text.soption
  val int_select :
    ?a:string ->
    name:[< `One of int ] Eliom_parameter.param_name ->
    int Eliom_content.Html_text.select_opt ->
    int Eliom_content.Html_text.select_opt list -> string
  val int32_select :
    ?a:string ->
    name:[< `One of int32 ] Eliom_parameter.param_name ->
    int32 Eliom_content.Html_text.select_opt ->
    int32 Eliom_content.Html_text.select_opt list -> string
  val int64_select :
    ?a:string ->
    name:[< `One of int64 ] Eliom_parameter.param_name ->
    int64 Eliom_content.Html_text.select_opt ->
    int64 Eliom_content.Html_text.select_opt list -> string
  val float_select :
    ?a:string ->
    name:[< `One of float ] Eliom_parameter.param_name ->
    float Eliom_content.Html_text.select_opt ->
    float Eliom_content.Html_text.select_opt list -> string
  val string_select :
    ?a:string ->
    name:[< `One of string ] Eliom_parameter.param_name ->
    string Eliom_content.Html_text.select_opt ->
    string Eliom_content.Html_text.select_opt list -> string
  val user_type_select :
    ('-> string) ->
    ?a:string ->
    name:[< `One of 'a ] Eliom_parameter.param_name ->
    'Eliom_content.Html_text.select_opt ->
    'Eliom_content.Html_text.select_opt list -> string
  val raw_select :
    ?a:string ->
    name:string ->
    string Eliom_content.Html_text.select_opt ->
    string Eliom_content.Html_text.select_opt list -> string
  val int_multiple_select :
    ?a:string ->
    name:[< `Set of int ] Eliom_parameter.param_name ->
    int Eliom_content.Html_text.select_opt ->
    int Eliom_content.Html_text.select_opt list -> string
  val int32_multiple_select :
    ?a:string ->
    name:[< `Set of int32 ] Eliom_parameter.param_name ->
    int32 Eliom_content.Html_text.select_opt ->
    int32 Eliom_content.Html_text.select_opt list -> string
  val int64_multiple_select :
    ?a:string ->
    name:[< `Set of int64 ] Eliom_parameter.param_name ->
    int64 Eliom_content.Html_text.select_opt ->
    int64 Eliom_content.Html_text.select_opt list -> string
  val float_multiple_select :
    ?a:string ->
    name:[< `Set of float ] Eliom_parameter.param_name ->
    float Eliom_content.Html_text.select_opt ->
    float Eliom_content.Html_text.select_opt list -> string
  val string_multiple_select :
    ?a:string ->
    name:[< `Set of string ] Eliom_parameter.param_name ->
    string Eliom_content.Html_text.select_opt ->
    string Eliom_content.Html_text.select_opt list -> string
  val user_type_multiple_select :
    ('-> string) ->
    ?a:string ->
    name:[< `Set of 'a ] Eliom_parameter.param_name ->
    'Eliom_content.Html_text.select_opt ->
    'Eliom_content.Html_text.select_opt list -> string
  val raw_multiple_select :
    ?a:string ->
    name:string ->
    string Eliom_content.Html_text.select_opt ->
    string Eliom_content.Html_text.select_opt list -> string
  val a_for : 'Eliom_parameter.param_name -> string
end