sig
  type ('a, +'b, +'c) params_type
  type 'a param_name
  type 'a setoneopt = [ `One of '| `Opt of '| `Set of 'a ]
  type 'a oneopt = [ `One of '| `Opt of 'a ]
  type 'a setone = [ `One of '| `Set of 'a ]
  type ('a, 'b) binsum = Inj1 of '| Inj2 of 'b
  type 'a listnames = {
    it : ''c. ('-> '-> 'c list) -> 'b list -> 'c list -> 'c list;
  }
  val int :
    string ->
    (int, [ `WithoutSuffix ], [ `One of int ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val float :
    string ->
    (float, [ `WithoutSuffix ], [ `One of float ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val string :
    string ->
    (string, [ `WithoutSuffix ],
     [ `One of string ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val bool :
    string ->
    (bool, [ `WithoutSuffix ], [ `One of bool ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val file :
    string ->
    (Extensions.file_info, [ `WithoutSuffix ],
     [ `One of Extensions.file_info ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val unit : (unit, [ `WithoutSuffix ], unit) Eliomparameters.params_type
  val user_type :
    (string -> 'a) ->
    ('-> string) ->
    string ->
    ('a, [ `WithoutSuffix ], [ `One of 'a ] Eliomparameters.param_name)
    Eliomparameters.params_type
  type coordinates = { abscissa : int; ordinate : int; }
  val coordinates :
    string ->
    (Eliomparameters.coordinates, [ `WithoutSuffix ],
     [ `One of Eliomparameters.coordinates ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val string_coordinates :
    string ->
    (string * Eliomparameters.coordinates, [ `WithoutSuffix ],
     [ `One of string * Eliomparameters.coordinates ]
     Eliomparameters.param_name)
    Eliomparameters.params_type
  val int_coordinates :
    string ->
    (int * Eliomparameters.coordinates, [ `WithoutSuffix ],
     [ `One of int * Eliomparameters.coordinates ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val float_coordinates :
    string ->
    (float * Eliomparameters.coordinates, [ `WithoutSuffix ],
     [ `One of float * Eliomparameters.coordinates ]
     Eliomparameters.param_name)
    Eliomparameters.params_type
  val user_type_coordinates :
    (string -> 'a) ->
    ('-> string) ->
    string ->
    ('a * Eliomparameters.coordinates, [ `WithoutSuffix ],
     [ `One of 'a * Eliomparameters.coordinates ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val ( ** ) :
    ('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ('c, [< `Endsuffix | `WithoutSuffix ] as 'd, 'e)
    Eliomparameters.params_type ->
    ('a * 'c, 'd, 'b * 'e) Eliomparameters.params_type
  val prod :
    ('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ('c, [ `Endsuffix | `WithoutSuffix ], 'd) Eliomparameters.params_type ->
    ('a * 'c, [ `Endsuffix | `WithoutSuffix ], 'b * 'd)
    Eliomparameters.params_type
  val sum :
    ('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    (('a, 'a) Eliomparameters.binsum, [ `WithoutSuffix ], 'b * 'b)
    Eliomparameters.params_type
  val opt :
    ('a, [ `WithoutSuffix ], [ `One of 'b ] Eliomparameters.param_name)
    Eliomparameters.params_type ->
    ('a option, [ `WithoutSuffix ],
     [ `Opt of 'b ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val any :
    ((string * string) list, [ `WithoutSuffix ], unit)
    Eliomparameters.params_type
  val set :
    (string ->
     ('a, [ `WithoutSuffix ], [ `One of 'b ] Eliomparameters.param_name)
     Eliomparameters.params_type) ->
    string ->
    ('a list, [ `WithoutSuffix ], [ `Set of 'b ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val list :
    string ->
    ('a, [ `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ('a list, [ `WithoutSuffix ], 'Eliomparameters.listnames)
    Eliomparameters.params_type
  val regexp :
    Netstring_pcre.regexp ->
    string ->
    string ->
    (string, [ `WithoutSuffix ],
     [ `One of string ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val suffix :
    ('a, [< `Endsuffix | `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ('a, [ `WithSuffix ], 'b) Eliomparameters.params_type
  val all_suffix :
    string ->
    (string list, [ `Endsuffix ],
     [ `One of string list ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val all_suffix_string :
    string ->
    (string, [ `Endsuffix ], [ `One of string ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val all_suffix_user :
    (string -> 'a) ->
    ('-> string) ->
    string ->
    ('a, [ `Endsuffix ], [ `One of 'a ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val all_suffix_regexp :
    Netstring_pcre.regexp ->
    string ->
    string ->
    (string, [ `Endsuffix ], [ `One of string ] Eliomparameters.param_name)
    Eliomparameters.params_type
  val suffix_prod :
    ('a, [< `Endsuffix | `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    ('c, [ `WithoutSuffix ], 'd) Eliomparameters.params_type ->
    ('a * 'c, [ `WithSuffix ], 'b * 'd) Eliomparameters.params_type
  val contains_suffix : ('a, 'b, 'c) Eliomparameters.params_type -> bool
  val add_pref_params :
    string ->
    ('a, 'b, 'c) Eliomparameters.params_type ->
    ('a, 'b, 'c) Eliomparameters.params_type
  val construct_params :
    ('a, [< `WithSuffix | `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    '-> string list option * string
  val construct_params_string : (string * string) list -> string
  val construct_params_list :
    ('a, [< `WithSuffix | `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    '-> string list option * (string * string) list
  val reconstruct_params :
    ('a, [< `WithSuffix | `WithoutSuffix ], 'b) Eliomparameters.params_type ->
    (string * string) list ->
    (string * Extensions.file_info) list -> string list -> 'a
  type anon_params_type = int
  val anonymise_params_type :
    ('a, 'b, 'c) Eliomparameters.params_type ->
    Eliomparameters.anon_params_type
  val remove_prefixed_param :
    string -> (string * 'a) list -> (string * 'a) list
  val make_params_names : ('a, 'b, 'c) Eliomparameters.params_type -> 'c
  val string_of_param_name : 'Eliomparameters.param_name -> string
end