sig
  type page
  val send :
    ?cookies:Eliomservices.cookie list ->
    ?charset:string ->
    ?code:int ->
    sp:Eliomsessions.server_params ->
    page -> Eliomservices.result_to_send Lwt.t
  val register :
    ?sp:Eliomsessions.server_params ->
    service:('a, 'b, [< Eliomservices.internal_service_kind ],
             [< Eliomservices.suff ], 'c, 'd, [ `Registrable ])
            Eliomservices.service ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> '-> page Lwt.t) -> unit
  val register_for_session :
    ?session_name:string ->
    sp:Eliomsessions.server_params ->
    service:('a, 'b, [< Eliomservices.internal_service_kind ],
             [< Eliomservices.suff ], 'c, 'd, [ `Registrable ])
            Eliomservices.service ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> '-> page Lwt.t) -> unit
  val register_new_service :
    ?sp:Eliomsessions.server_params ->
    path:Extensions.url_path ->
    get_params:('a, [< Eliomservices.suff ] as 'b, 'c)
               Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
    ('a, unit,
     [> `Attached of
          [> `Internal of [> `Service ] * [> `Get ] ] Eliomservices.a_s ],
     'b, 'c, unit, [> `Registrable ])
    Eliomservices.service
  val register_new_coservice :
    ?sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    fallback:(unit, unit,
              [ `Attached of
                  [ `Internal of [ `Service ] * [ `Get ] ] Eliomservices.a_s ],
              [ `WithoutSuffix ], unit, unit, [< Eliomservices.registrable ])
             Eliomservices.service ->
    get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
    ('a, unit,
     [> `Attached of
          [> `Internal of [> `Coservice ] * [> `Get ] ] Eliomservices.a_s ],
     [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
    Eliomservices.service
  val register_new_coservice' :
    ?sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
    ('a, unit, [> `Nonattached of [> `Get ] Eliomservices.na_s ],
     [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
    Eliomservices.service
  val register_new_coservice_for_session :
    ?session_name:string ->
    sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    fallback:(unit, unit,
              [ `Attached of
                  [ `Internal of [ `Service ] * [ `Get ] ] Eliomservices.a_s ],
              [ `WithoutSuffix ], unit, unit, [< Eliomservices.registrable ])
             Eliomservices.service ->
    get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
    ('a, unit,
     [> `Attached of
          [> `Internal of [> `Coservice ] * [> `Get ] ] Eliomservices.a_s ],
     [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
    Eliomservices.service
  val register_new_coservice_for_session' :
    ?session_name:string ->
    sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
    ('a, unit, [> `Nonattached of [> `Get ] Eliomservices.na_s ],
     [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
    Eliomservices.service
  val register_new_post_service :
    ?sp:Eliomsessions.server_params ->
    fallback:('a, unit,
              [ `Attached of
                  [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                  Eliomservices.a_s ],
              [< Eliomservices.suff ] as 'b, 'c, unit, [< `Registrable ])
             Eliomservices.service ->
    post_params:('d, [ `WithoutSuffix ], 'e) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> '-> page Lwt.t) ->
    ('a, 'd,
     [> `Attached of
          [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
          Eliomservices.a_s ],
     'b, 'c, 'e, [> `Registrable ])
    Eliomservices.service
  val register_new_post_coservice :
    ?sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    fallback:('a, unit,
              [ `Attached of
                  [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                  Eliomservices.a_s ],
              [< Eliomservices.suff ] as 'b, 'c, unit, [< `Registrable ])
             Eliomservices.service ->
    post_params:('d, [ `WithoutSuffix ], 'e) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> '-> page Lwt.t) ->
    ('a, 'd,
     [> `Attached of
          [> `Internal of [> `Coservice ] * [> `Post ] ] Eliomservices.a_s ],
     'b, 'c, 'e, [> `Registrable ])
    Eliomservices.service
  val register_new_post_coservice' :
    ?sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    post_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> unit -> '-> page Lwt.t) ->
    (unit, 'a, [> `Nonattached of [> `Post ] Eliomservices.na_s ],
     [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
    Eliomservices.service
  val register_new_post_coservice_for_session :
    ?session_name:string ->
    sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    fallback:('a, unit,
              [ `Attached of
                  [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                  Eliomservices.a_s ],
              [< Eliomservices.suff ] as 'b, 'c, unit, [ `Registrable ])
             Eliomservices.service ->
    post_params:('d, [ `WithoutSuffix ], 'e) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> '-> '-> page Lwt.t) ->
    ('a, 'd,
     [> `Attached of
          [> `Internal of [> `Coservice ] * [> `Post ] ] Eliomservices.a_s ],
     'b, 'c, 'e, [> `Registrable ])
    Eliomservices.service
  val register_new_post_coservice_for_session' :
    ?session_name:string ->
    sp:Eliomsessions.server_params ->
    ?max_use:int ->
    ?timeout:float ->
    post_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ?error_handler:(Eliomsessions.server_params ->
                    (string * exn) list -> page Lwt.t) ->
    (Eliomsessions.server_params -> unit -> '-> page Lwt.t) ->
    (unit, 'a, [> `Nonattached of [> `Post ] Eliomservices.na_s ],
     [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
    Eliomservices.service
  module Cookies :
    sig
      type page = page * Eliomservices.cookie list
      val send :
        ?cookies:Eliomservices.cookie list ->
        ?charset:string ->
        ?code:int ->
        sp:Eliomsessions.server_params ->
        page -> Eliomservices.result_to_send Lwt.t
      val register :
        ?sp:Eliomsessions.server_params ->
        service:('a, 'b, [< Eliomservices.internal_service_kind ],
                 [< Eliomservices.suff ], 'c, 'd, [ `Registrable ])
                Eliomservices.service ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_for_session :
        ?session_name:string ->
        sp:Eliomsessions.server_params ->
        service:('a, 'b, [< Eliomservices.internal_service_kind ],
                 [< Eliomservices.suff ], 'c, 'd, [ `Registrable ])
                Eliomservices.service ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> '-> page Lwt.t) -> unit
      val register_new_service :
        ?sp:Eliomsessions.server_params ->
        path:Extensions.url_path ->
        get_params:('a, [< Eliomservices.suff ] as 'b, 'c)
                   Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Service ] * [> `Get ] ] Eliomservices.a_s ],
         'b, 'c, unit, [> `Registrable ])
        Eliomservices.service
      val register_new_coservice :
        ?sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliomservices.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliomservices.registrable ])
                 Eliomservices.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ] Eliomservices.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliomservices.service
      val register_new_coservice' :
        ?sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliomservices.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliomservices.service
      val register_new_coservice_for_session :
        ?session_name:string ->
        sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        fallback:(unit, unit,
                  [ `Attached of
                      [ `Internal of [ `Service ] * [ `Get ] ]
                      Eliomservices.a_s ],
                  [ `WithoutSuffix ], unit, unit,
                  [< Eliomservices.registrable ])
                 Eliomservices.service ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Get ] ] Eliomservices.a_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliomservices.service
      val register_new_coservice_for_session' :
        ?session_name:string ->
        sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        get_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> unit -> page Lwt.t) ->
        ('a, unit, [> `Nonattached of [> `Get ] Eliomservices.na_s ],
         [ `WithoutSuffix ], 'b, unit, [> `Registrable ])
        Eliomservices.service
      val register_new_post_service :
        ?sp:Eliomsessions.server_params ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                      Eliomservices.a_s ],
                  [< Eliomservices.suff ] as 'b, 'c, unit, [< `Registrable ])
                 Eliomservices.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [ `Coservice | `Service ] * [> `Post ] ]
              Eliomservices.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliomservices.service
      val register_new_post_coservice :
        ?sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliomservices.a_s ],
                  [< Eliomservices.suff ] as 'b, 'c, unit, [< `Registrable ])
                 Eliomservices.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliomservices.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliomservices.service
      val register_new_post_coservice' :
        ?sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        post_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> unit -> '-> page Lwt.t) ->
        (unit, 'a, [> `Nonattached of [> `Post ] Eliomservices.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
        Eliomservices.service
      val register_new_post_coservice_for_session :
        ?session_name:string ->
        sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        fallback:('a, unit,
                  [ `Attached of
                      [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                      Eliomservices.a_s ],
                  [< Eliomservices.suff ] as 'b, 'c, unit, [ `Registrable ])
                 Eliomservices.service ->
        post_params:('d, [ `WithoutSuffix ], 'e) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> '-> '-> page Lwt.t) ->
        ('a, 'd,
         [> `Attached of
              [> `Internal of [> `Coservice ] * [> `Post ] ]
              Eliomservices.a_s ],
         'b, 'c, 'e, [> `Registrable ])
        Eliomservices.service
      val register_new_post_coservice_for_session' :
        ?session_name:string ->
        sp:Eliomsessions.server_params ->
        ?max_use:int ->
        ?timeout:float ->
        post_params:('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
        ?error_handler:(Eliomsessions.server_params ->
                        (string * exn) list -> page Lwt.t) ->
        (Eliomsessions.server_params -> unit -> '-> page Lwt.t) ->
        (unit, 'a, [> `Nonattached of [> `Post ] Eliomservices.na_s ],
         [ `WithoutSuffix ], unit, 'b, [> `Registrable ])
        Eliomservices.service
    end
  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 -> '-> uri
  val a :
    ?a:a_attrib_t ->
    service:('a, unit, [< Eliomservices.get_service_kind ],
             [< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string -> a_content_elt_list -> '-> a_elt
  val css_link : ?a:link_attrib_t -> uri:uri -> unit -> link_elt
  val js_script : ?a:script_attrib_t -> uri:uri -> unit -> script_elt
  val get_form :
    ?a:form_attrib_t ->
    service:('a, unit, [< Eliomservices.get_service_kind ],
             [< Eliomservices.suff ], 'b, 'c, [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string -> ('-> form_content_elt_list) -> form_elt
  val post_form :
    ?a:form_attrib_t ->
    service:('a, 'b, [< Eliomservices.post_service_kind ],
             [< Eliomservices.suff ], 'c, 'd, [< Eliomservices.registrable ])
            Eliomservices.service ->
    sp:Eliomsessions.server_params ->
    ?fragment:string -> ('-> form_content_elt_list) -> '-> form_elt
  val int_input :
    ?a:input_attrib_t ->
    input_type:input_type_t ->
    ?name:[< int Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:int -> unit -> input_elt
  val float_input :
    ?a:input_attrib_t ->
    input_type:input_type_t ->
    ?name:[< float Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:float -> unit -> input_elt
  val string_input :
    ?a:input_attrib_t ->
    input_type:input_type_t ->
    ?name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:string -> unit -> input_elt
  val user_type_input :
    ?a:input_attrib_t ->
    input_type:input_type_t ->
    ?name:[< 'Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:'-> ('-> string) -> input_elt
  val raw_input :
    ?a:input_attrib_t ->
    input_type:input_type_t ->
    ?name:string -> ?value:string -> unit -> input_elt
  val file_input :
    ?a:input_attrib_t ->
    name:[< Extensions.file_info Eliomparameters.setoneopt ]
         Eliomparameters.param_name ->
    unit -> input_elt
  val image_input :
    ?a:input_attrib_t ->
    name:[< Eliomparameters.coordinates Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    ?src:uri -> unit -> input_elt
  val int_image_input :
    ?a:input_attrib_t ->
    name:[< (int * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:int -> ?src:uri -> unit -> input_elt
  val float_image_input :
    ?a:input_attrib_t ->
    name:[< (float * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:float -> ?src:uri -> unit -> input_elt
  val string_image_input :
    ?a:input_attrib_t ->
    name:[< (string * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:string -> ?src:uri -> unit -> input_elt
  val user_type_image_input :
    ?a:input_attrib_t ->
    name:[< ('a * Eliomparameters.coordinates) Eliomparameters.oneopt ]
         Eliomparameters.param_name ->
    value:'-> ?src:uri -> ('-> string) -> input_elt
  val raw_image_input :
    ?a:input_attrib_t ->
    name:string -> value:string -> ?src:uri -> unit -> input_elt
  val bool_checkbox :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `One of bool ] Eliomparameters.param_name -> unit -> input_elt
  val int_checkbox :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of int ] Eliomparameters.param_name ->
    value:int -> unit -> input_elt
  val float_checkbox :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of float ] Eliomparameters.param_name ->
    value:float -> unit -> input_elt
  val string_checkbox :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of string ] Eliomparameters.param_name ->
    value:string -> unit -> input_elt
  val user_type_checkbox :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Set of 'a ] Eliomparameters.param_name ->
    value:'-> ('-> string) -> input_elt
  val raw_checkbox :
    ?a:input_attrib_t ->
    ?checked:bool -> name:string -> value:string -> unit -> input_elt
  val string_radio :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of string ] Eliomparameters.param_name ->
    value:string -> unit -> input_elt
  val int_radio :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of int ] Eliomparameters.param_name ->
    value:int -> unit -> input_elt
  val float_radio :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of float ] Eliomparameters.param_name ->
    value:float -> unit -> input_elt
  val user_type_radio :
    ?a:input_attrib_t ->
    ?checked:bool ->
    name:[ `Opt of 'a ] Eliomparameters.param_name ->
    value:'-> ('-> string) -> input_elt
  val raw_radio :
    ?a:input_attrib_t ->
    ?checked:bool -> name:string -> value:string -> unit -> input_elt
  val string_button :
    ?a:button_attrib_t ->
    name:[< string Eliomparameters.setone ] Eliomparameters.param_name ->
    value:string -> button_content_elt_list -> button_elt
  val int_button :
    ?a:button_attrib_t ->
    name:[< int Eliomparameters.setone ] Eliomparameters.param_name ->
    value:int -> button_content_elt_list -> button_elt
  val float_button :
    ?a:button_attrib_t ->
    name:[< float Eliomparameters.setone ] Eliomparameters.param_name ->
    value:float -> button_content_elt_list -> button_elt
  val user_type_button :
    ?a:button_attrib_t ->
    name:[< 'Eliomparameters.setone ] Eliomparameters.param_name ->
    value:'-> ('-> string) -> button_content_elt_list -> button_elt
  val raw_button :
    ?a:button_attrib_t ->
    button_type:button_type_t ->
    name:string -> value:string -> button_content_elt_list -> button_elt
  val button :
    ?a:button_attrib_t ->
    button_type:button_type_t -> button_content_elt_list -> button_elt
  val textarea :
    ?a:textarea_attrib_t ->
    name:[< string Eliomparameters.setoneopt ] Eliomparameters.param_name ->
    ?value:pcdata_elt -> rows:int -> cols:int -> unit -> textarea_elt
  val raw_textarea :
    ?a:textarea_attrib_t ->
    name:string ->
    ?value:pcdata_elt -> rows:int -> cols:int -> unit -> textarea_elt
  type 'a soption = option_attrib_t * 'a * pcdata_elt option * bool
  type 'a select_opt =
      Optgroup of optgroup_attrib_t * string * 'a soption * 'a soption list
    | Option of 'a soption
  val raw_select :
    ?a:select_attrib_t ->
    name:string -> string select_opt -> string select_opt list -> select_elt
  val int_select :
    ?a:select_attrib_t ->
    name:[< `One of int ] Eliomparameters.param_name ->
    int select_opt -> int select_opt list -> select_elt
  val float_select :
    ?a:select_attrib_t ->
    name:[< `One of float ] Eliomparameters.param_name ->
    float select_opt -> float select_opt list -> select_elt
  val string_select :
    ?a:select_attrib_t ->
    name:[< `One of string ] Eliomparameters.param_name ->
    string select_opt -> string select_opt list -> select_elt
  val user_type_select :
    ?a:select_attrib_t ->
    name:[< `One of 'a ] Eliomparameters.param_name ->
    'a select_opt -> 'a select_opt list -> ('-> string) -> select_elt
  val raw_multiple_select :
    ?a:select_attrib_t ->
    name:string -> string select_opt -> string select_opt list -> select_elt
  val int_multiple_select :
    ?a:select_attrib_t ->
    name:[< `Set of int ] Eliomparameters.param_name ->
    int select_opt -> int select_opt list -> select_elt
  val float_multiple_select :
    ?a:select_attrib_t ->
    name:[< `Set of float ] Eliomparameters.param_name ->
    float select_opt -> float select_opt list -> select_elt
  val string_multiple_select :
    ?a:select_attrib_t ->
    name:[< `Set of string ] Eliomparameters.param_name ->
    string select_opt -> string select_opt list -> select_elt
  val user_type_multiple_select :
    ?a:select_attrib_t ->
    name:[< `Set of 'a ] Eliomparameters.param_name ->
    'a select_opt -> 'a select_opt list -> ('-> string) -> select_elt
end