sig
  type form_content_elt
  type form_content_elt_list
  type form_elt
  type a_content_elt
  type a_content_elt_list
  type a_elt
  type a_elt_list
  type div_content_elt
  type div_content_elt_list
  type uri
  type link_elt
  type script_elt
  type textarea_elt
  type input_elt
  type pcdata_elt
  type select_elt
  type select_content_elt
  type select_content_elt_list
  type button_elt
  type button_content_elt
  type button_content_elt_list
  type a_attrib_t
  type form_attrib_t
  type input_attrib_t
  type textarea_attrib_t
  type select_attrib_t
  type link_attrib_t
  type script_attrib_t
  type optgroup_attrib_t
  type option_attrib_t
  type button_attrib_t
  type input_type_t
  type button_type_t
  val make_string_uri :
    service:('a, unit, [< Eliomservices.get_service_kind ],
             [< Eliomservices.suff ], 'b, unit,
             [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params -> ?fragment:string -> '-> string
  val make_uri :
    service:('a, unit, [< Eliomservices.get_service_kind ],
             [< Eliomservices.suff ], 'b, unit,
             [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string -> '-> Eliommkforms.ELIOMFORMSIG.uri
  val a :
    ?a:Eliommkforms.ELIOMFORMSIG.a_attrib_t ->
    service:('a, unit, [< Eliomservices.get_service_kind ],
             [< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string ->
    Eliommkforms.ELIOMFORMSIG.a_content_elt_list ->
    '-> Eliommkforms.ELIOMFORMSIG.a_elt
  val css_link :
    ?a:Eliommkforms.ELIOMFORMSIG.link_attrib_t ->
    uri:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.link_elt
  val js_script :
    ?a:Eliommkforms.ELIOMFORMSIG.script_attrib_t ->
    uri:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.script_elt
  val get_form :
    ?a:Eliommkforms.ELIOMFORMSIG.form_attrib_t ->
    service:('a, unit, [< Eliomservices.get_service_kind ],
             [< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string ->
    ('-> Eliommkforms.ELIOMFORMSIG.form_content_elt_list) ->
    Eliommkforms.ELIOMFORMSIG.form_elt
  val post_form :
    ?a:Eliommkforms.ELIOMFORMSIG.form_attrib_t ->
    service:('a, 'b, [< Eliomservices.post_service_kind ],
             [< Eliomservices.suff ], 'c, 'd, [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string ->
    ('-> Eliommkforms.ELIOMFORMSIG.form_content_elt_list) ->
    '-> Eliommkforms.ELIOMFORMSIG.form_elt
  val int_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    input_type:Eliommkforms.ELIOMFORMSIG.input_type_t ->
    ?name:[< int Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:int -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val float_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    input_type:Eliommkforms.ELIOMFORMSIG.input_type_t ->
    ?name:[< float Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:float -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val string_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    input_type:Eliommkforms.ELIOMFORMSIG.input_type_t ->
    ?name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:string -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val user_type_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    input_type:Eliommkforms.ELIOMFORMSIG.input_type_t ->
    ?name:[< 'Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:'-> ('-> string) -> Eliommkforms.ELIOMFORMSIG.input_elt
  val raw_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    input_type:Eliommkforms.ELIOMFORMSIG.input_type_t ->
    ?name:string ->
    ?value:string -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val file_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:[< Extensions.file_info Eliomparameters.setoneopt ]
         Eliomparameters.param_name ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val image_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:[< Eliomparameters.coordinates Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    ?src:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val int_image_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:[< (int * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:int ->
    ?src:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val float_image_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:[< (float * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:float ->
    ?src:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val string_image_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:[< (string * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:string ->
    ?src:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val user_type_image_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:[< ('a * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:'->
    ?src:Eliommkforms.ELIOMFORMSIG.uri ->
    ('-> string) -> Eliommkforms.ELIOMFORMSIG.input_elt
  val raw_image_input :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    name:string ->
    value:string ->
    ?src:Eliommkforms.ELIOMFORMSIG.uri ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val bool_checkbox :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `One of bool ] Eliomparameters.param_name ->
    unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val int_checkbox :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of int ] Eliomparameters.param_name ->
    value:int -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val float_checkbox :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of float ] Eliomparameters.param_name ->
    value:float -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val string_checkbox :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of string ] Eliomparameters.param_name ->
    value:string -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val user_type_checkbox :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of 'a ] Eliomparameters.param_name ->
    value:'-> ('-> string) -> Eliommkforms.ELIOMFORMSIG.input_elt
  val raw_checkbox :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:string ->
    value:string -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val string_radio :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of string ] Eliomparameters.param_name ->
    value:string -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val int_radio :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of int ] Eliomparameters.param_name ->
    value:int -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val float_radio :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of float ] Eliomparameters.param_name ->
    value:float -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val user_type_radio :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of 'a ] Eliomparameters.param_name ->
    value:'-> ('-> string) -> Eliommkforms.ELIOMFORMSIG.input_elt
  val raw_radio :
    ?a:Eliommkforms.ELIOMFORMSIG.input_attrib_t ->
    ?checked:bool ->
    name:string ->
    value:string -> unit -> Eliommkforms.ELIOMFORMSIG.input_elt
  val string_button :
    ?a:Eliommkforms.ELIOMFORMSIG.button_attrib_t ->
    name:[< string Eliomparameters.setone ] Eliomparameters.param_name ->
    value:string ->
    Eliommkforms.ELIOMFORMSIG.button_content_elt_list ->
    Eliommkforms.ELIOMFORMSIG.button_elt
  val int_button :
    ?a:Eliommkforms.ELIOMFORMSIG.button_attrib_t ->
    name:[< int Eliomparameters.setone ] Eliomparameters.param_name ->
    value:int ->
    Eliommkforms.ELIOMFORMSIG.button_content_elt_list ->
    Eliommkforms.ELIOMFORMSIG.button_elt
  val float_button :
    ?a:Eliommkforms.ELIOMFORMSIG.button_attrib_t ->
    name:[< float Eliomparameters.setone ] Eliomparameters.param_name ->
    value:float ->
    Eliommkforms.ELIOMFORMSIG.button_content_elt_list ->
    Eliommkforms.ELIOMFORMSIG.button_elt
  val user_type_button :
    ?a:Eliommkforms.ELIOMFORMSIG.button_attrib_t ->
    name:[< 'Eliomparameters.setone ] Eliomparameters.param_name ->
    value:'->
    ('-> string) ->
    Eliommkforms.ELIOMFORMSIG.button_content_elt_list ->
    Eliommkforms.ELIOMFORMSIG.button_elt
  val raw_button :
    ?a:Eliommkforms.ELIOMFORMSIG.button_attrib_t ->
    button_type:Eliommkforms.ELIOMFORMSIG.button_type_t ->
    name:string ->
    value:string ->
    Eliommkforms.ELIOMFORMSIG.button_content_elt_list ->
    Eliommkforms.ELIOMFORMSIG.button_elt
  val button :
    ?a:Eliommkforms.ELIOMFORMSIG.button_attrib_t ->
    button_type:Eliommkforms.ELIOMFORMSIG.button_type_t ->
    Eliommkforms.ELIOMFORMSIG.button_content_elt_list ->
    Eliommkforms.ELIOMFORMSIG.button_elt
  val textarea :
    ?a:Eliommkforms.ELIOMFORMSIG.textarea_attrib_t ->
    name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:Eliommkforms.ELIOMFORMSIG.pcdata_elt ->
    rows:int -> cols:int -> unit -> Eliommkforms.ELIOMFORMSIG.textarea_elt
  val raw_textarea :
    ?a:Eliommkforms.ELIOMFORMSIG.textarea_attrib_t ->
    name:string ->
    ?value:Eliommkforms.ELIOMFORMSIG.pcdata_elt ->
    rows:int -> cols:int -> unit -> Eliommkforms.ELIOMFORMSIG.textarea_elt
  type 'a soption =
      Eliommkforms.ELIOMFORMSIG.option_attrib_t * 'a *
      Eliommkforms.ELIOMFORMSIG.pcdata_elt option * bool
  type 'a select_opt =
      Optgroup of Eliommkforms.ELIOMFORMSIG.optgroup_attrib_t * string *
        'Eliommkforms.ELIOMFORMSIG.soption *
        'Eliommkforms.ELIOMFORMSIG.soption list
    | Option of 'Eliommkforms.ELIOMFORMSIG.soption
  val raw_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:string ->
    string Eliommkforms.ELIOMFORMSIG.select_opt ->
    string Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val int_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `One of int ] Eliomparameters.param_name ->
    int Eliommkforms.ELIOMFORMSIG.select_opt ->
    int Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val float_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `One of float ] Eliomparameters.param_name ->
    float Eliommkforms.ELIOMFORMSIG.select_opt ->
    float Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val string_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `One of string ] Eliomparameters.param_name ->
    string Eliommkforms.ELIOMFORMSIG.select_opt ->
    string Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val user_type_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `One of 'a ] Eliomparameters.param_name ->
    'Eliommkforms.ELIOMFORMSIG.select_opt ->
    'Eliommkforms.ELIOMFORMSIG.select_opt list ->
    ('-> string) -> Eliommkforms.ELIOMFORMSIG.select_elt
  val raw_multiple_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:string ->
    string Eliommkforms.ELIOMFORMSIG.select_opt ->
    string Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val int_multiple_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `Set of int ] Eliomparameters.param_name ->
    int Eliommkforms.ELIOMFORMSIG.select_opt ->
    int Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val float_multiple_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `Set of float ] Eliomparameters.param_name ->
    float Eliommkforms.ELIOMFORMSIG.select_opt ->
    float Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val string_multiple_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `Set of string ] Eliomparameters.param_name ->
    string Eliommkforms.ELIOMFORMSIG.select_opt ->
    string Eliommkforms.ELIOMFORMSIG.select_opt list ->
    Eliommkforms.ELIOMFORMSIG.select_elt
  val user_type_multiple_select :
    ?a:Eliommkforms.ELIOMFORMSIG.select_attrib_t ->
    name:[< `Set of 'a ] Eliomparameters.param_name ->
    'Eliommkforms.ELIOMFORMSIG.select_opt ->
    'Eliommkforms.ELIOMFORMSIG.select_opt list ->
    ('-> string) -> Eliommkforms.ELIOMFORMSIG.select_elt
end