sig
  val make_full_string_uri :
    ?https:bool ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, unit,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string -> ?port:int -> ?fragment:string -> '-> string
  val make_full_uri :
    ?https:bool ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, unit,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string -> ?port:int -> ?fragment:string -> '-> XHTML.M.uri
  val make_string_uri :
    ?https:bool ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, unit,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string -> ?port:int -> ?fragment:string -> '-> string
  val make_uri :
    ?https:bool ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, unit,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string -> ?port:int -> ?fragment:string -> '-> XHTML.M.uri
  val a :
    ?https:bool ->
    ?a:Xhtmltypes.a_attrib XHTML.M.attrib list ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, 'c,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    Xhtmltypes.a_content XHTML.M.elt list ->
    '-> [> Xhtmltypes.a ] XHTML.M.elt
  val css_link :
    ?a:Xhtmltypes.link_attrib XHTML.M.attrib list ->
    uri:XHTML.M.uri -> unit -> [> Xhtmltypes.link ] XHTML.M.elt
  val js_script :
    ?a:Xhtmltypes.script_attrib XHTML.M.attrib list ->
    uri:XHTML.M.uri -> unit -> [> Xhtmltypes.script ] XHTML.M.elt
  val get_form :
    ?https:bool ->
    ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, 'c,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ('-> Xhtmltypes.form_content XHTML.M.elt list) ->
    [> Xhtmltypes.form ] XHTML.M.elt
  val lwt_get_form :
    ?https:bool ->
    ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
    service:('a, unit, [< Eliom_services.get_service_kind ],
             [< Eliom_services.suff ], 'b, 'c,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ('-> Xhtmltypes.form_content XHTML.M.elt list Lwt.t) ->
    Xhtmltypes.form XHTML.M.elt Lwt.t
  val post_form :
    ?https:bool ->
    ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
    service:('a, 'b, [< Eliom_services.post_service_kind ],
             [< Eliom_services.suff ], 'c, 'd,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_get_na_params:bool ->
    ('-> Xhtmltypes.form_content XHTML.M.elt list) ->
    '-> [> Xhtmltypes.form ] XHTML.M.elt
  val lwt_post_form :
    ?https:bool ->
    ?a:Xhtmltypes.form_attrib XHTML.M.attrib list ->
    service:('a, 'b, [< Eliom_services.post_service_kind ],
             [< Eliom_services.suff ], 'c, 'd,
             [< Eliom_services.registrable ])
            Eliom_services.service ->
    sp:Eliom_sessions.server_params ->
    ?hostname:string ->
    ?port:int ->
    ?fragment:string ->
    ?keep_get_na_params:bool ->
    ('-> Xhtmltypes.form_content XHTML.M.elt list Lwt.t) ->
    '-> Xhtmltypes.form XHTML.M.elt Lwt.t
  type basic_input_type = [ `Hidden | `Password | `Submit | `Text ]
  val int_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< Eliom_predefmod.XHTMLFORMSSIG.basic_input_type ] ->
    ?name:[< int Eliom_parameters.setoneradio ] Eliom_parameters.param_name ->
    ?value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int32_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< Eliom_predefmod.XHTMLFORMSSIG.basic_input_type ] ->
    ?name:[< int32 Eliom_parameters.setoneradio ] Eliom_parameters.param_name ->
    ?value:int32 -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int64_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< Eliom_predefmod.XHTMLFORMSSIG.basic_input_type ] ->
    ?name:[< int64 Eliom_parameters.setoneradio ] Eliom_parameters.param_name ->
    ?value:int64 -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val float_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< Eliom_predefmod.XHTMLFORMSSIG.basic_input_type ] ->
    ?name:[< float Eliom_parameters.setoneradio ] Eliom_parameters.param_name ->
    ?value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val string_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< Eliom_predefmod.XHTMLFORMSSIG.basic_input_type ] ->
    ?name:[< string Eliom_parameters.setoneradio ]
          Eliom_parameters.param_name ->
    ?value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val user_type_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< Eliom_predefmod.XHTMLFORMSSIG.basic_input_type ] ->
    ?name:[< 'Eliom_parameters.setoneradio ] Eliom_parameters.param_name ->
    ?value:'-> ('-> string) -> [> Xhtmltypes.input ] XHTML.M.elt
  val raw_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    input_type:[< `Button | `Hidden | `Password | `Reset | `Submit | `Text ] ->
    ?name:string ->
    ?value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val file_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< Ocsigen_extensions.file_info Eliom_parameters.setoneradio ]
         Eliom_parameters.param_name ->
    unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< Eliom_parameters.coordinates Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< (int * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    value:int ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int32_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< (int32 * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    value:int32 ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int64_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< (int64 * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    value:int64 ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val float_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< (float * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    value:float ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val string_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< (string * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    value:string ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val user_type_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:[< ('a * Eliom_parameters.coordinates) Eliom_parameters.oneradio ]
         Eliom_parameters.param_name ->
    value:'->
    ?src:XHTML.M.uri -> ('-> string) -> [> Xhtmltypes.input ] XHTML.M.elt
  val raw_image_input :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    name:string ->
    value:string ->
    ?src:XHTML.M.uri -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val bool_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `One of bool ] Eliom_parameters.param_name ->
    unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Set of int ] Eliom_parameters.param_name ->
    value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int32_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Set of int32 ] Eliom_parameters.param_name ->
    value:int32 -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int64_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Set of int64 ] Eliom_parameters.param_name ->
    value:int64 -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val float_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Set of float ] Eliom_parameters.param_name ->
    value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val string_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Set of string ] Eliom_parameters.param_name ->
    value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val user_type_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Set of 'a ] Eliom_parameters.param_name ->
    value:'-> ('-> string) -> [> Xhtmltypes.input ] XHTML.M.elt
  val raw_checkbox :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:string -> value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val string_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Radio of string ] Eliom_parameters.param_name ->
    value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Radio of int ] Eliom_parameters.param_name ->
    value:int -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int32_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Radio of int32 ] Eliom_parameters.param_name ->
    value:int32 -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val int64_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Radio of int64 ] Eliom_parameters.param_name ->
    value:int64 -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val float_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Radio of float ] Eliom_parameters.param_name ->
    value:float -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  val user_type_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:[ `Radio of 'a ] Eliom_parameters.param_name ->
    value:'-> ('-> string) -> [> Xhtmltypes.input ] XHTML.M.elt
  val raw_radio :
    ?a:Xhtmltypes.input_attrib XHTML.M.attrib list ->
    ?checked:bool ->
    name:string -> value:string -> unit -> [> Xhtmltypes.input ] XHTML.M.elt
  type button_type = [ `Button | `Reset | `Submit ]
  val string_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    name:[< string Eliom_parameters.setone ] Eliom_parameters.param_name ->
    value:string ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val int_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    name:[< int Eliom_parameters.setone ] Eliom_parameters.param_name ->
    value:int ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val int32_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    name:[< int32 Eliom_parameters.setone ] Eliom_parameters.param_name ->
    value:int32 ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val int64_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    name:[< int64 Eliom_parameters.setone ] Eliom_parameters.param_name ->
    value:int64 ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val float_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    name:[< float Eliom_parameters.setone ] Eliom_parameters.param_name ->
    value:float ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val user_type_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    name:[< 'Eliom_parameters.setone ] Eliom_parameters.param_name ->
    value:'->
    ('-> string) ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val raw_button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    button_type:[< Eliom_predefmod.XHTMLFORMSSIG.button_type ] ->
    name:string ->
    value:string ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val button :
    ?a:Xhtmltypes.button_attrib XHTML.M.attrib list ->
    button_type:[< Eliom_predefmod.XHTMLFORMSSIG.button_type ] ->
    Xhtmltypes.button_content XHTML.M.elt list ->
    [> Xhtmltypes.button ] XHTML.M.elt
  val textarea :
    ?a:Xhtmltypes.textarea_attrib XHTML.M.attrib list ->
    name:[< string Eliom_parameters.setoneradio ] Eliom_parameters.param_name ->
    ?value:Xhtmltypes.pcdata XHTML.M.elt ->
    rows:int -> cols:int -> unit -> [> Xhtmltypes.textarea ] XHTML.M.elt
  val raw_textarea :
    ?a:Xhtmltypes.textarea_attrib XHTML.M.attrib list ->
    name:string ->
    ?value:Xhtmltypes.pcdata XHTML.M.elt ->
    rows:int -> cols:int -> unit -> [> Xhtmltypes.textarea ] XHTML.M.elt
  type 'a soption =
      Xhtmltypes.option_attrib XHTML.M.attrib list * 'a *
      Xhtmltypes.pcdata XHTML.M.elt option * bool
  type 'a select_opt =
      Optgroup of
        [ `Class | `Disabled | `Id | `Title | `XML_lang ] XHTML.M.attrib list *
        string * 'Eliom_predefmod.XHTMLFORMSSIG.soption *
        'Eliom_predefmod.XHTMLFORMSSIG.soption list
    | Option of 'Eliom_predefmod.XHTMLFORMSSIG.soption
  val int_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `One of int ] Eliom_parameters.param_name ->
    int Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    int Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val int32_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `One of int32 ] Eliom_parameters.param_name ->
    int32 Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    int32 Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val int64_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `One of int64 ] Eliom_parameters.param_name ->
    int64 Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    int64 Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val float_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `One of float ] Eliom_parameters.param_name ->
    float Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    float Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val string_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `One of string ] Eliom_parameters.param_name ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val user_type_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `One of 'a ] Eliom_parameters.param_name ->
    'Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    'Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    ('-> string) -> [> Xhtmltypes.select ] XHTML.M.elt
  val raw_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:string ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val int_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `Set of int ] Eliom_parameters.param_name ->
    int Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    int Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val int32_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `Set of int32 ] Eliom_parameters.param_name ->
    int32 Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    int32 Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val int64_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `Set of int64 ] Eliom_parameters.param_name ->
    int64 Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    int64 Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val float_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `Set of float ] Eliom_parameters.param_name ->
    float Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    float Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val string_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `Set of string ] Eliom_parameters.param_name ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
  val user_type_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:[< `Set of 'a ] Eliom_parameters.param_name ->
    'Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    'Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    ('-> string) -> [> Xhtmltypes.select ] XHTML.M.elt
  val raw_multiple_select :
    ?a:Xhtmltypes.select_attrib XHTML.M.attrib list ->
    name:string ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt ->
    string Eliom_predefmod.XHTMLFORMSSIG.select_opt list ->
    [> Xhtmltypes.select ] XHTML.M.elt
end