functor (Pages : REGCREATE->
  sig
    type page = Pages.page
    val send :
      ?cookies:Extensions.cookieslist ->
      ?charset:string ->
      ?code:int -> server_params -> page -> Eliommod.result_to_send
    val register :
      ?sp:server_params ->
      service:('a, 'b, [< internal_service_kind ], [< suff ], 'c, 'd,
               [ `Registrable ])
              service ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> '-> page Lwt.t) -> unit
    val register_for_session :
      server_params ->
      service:('a, 'b, [< internal_service_kind ], [< suff ], 'c, 'd,
               [ `Registrable ])
              service ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> '-> page Lwt.t) -> unit
    val register_new_service :
      ?sp:server_params ->
      url:url_path ->
      get_params:('a, [< suff ] as 'b, 'c) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> unit -> page Lwt.t) ->
      ('a, unit,
       [> `Attached of [> `Internal of [> `Service ] * [> `Get ] ] a_s ], 'b,
       'c, unit param_name, [> `Registrable ])
      service
    val register_new_coservice :
      ?sp:server_params ->
      ?max_use:int ->
      ?timeout:float ->
      fallback:(unit, unit,
                [ `Attached of [ `Internal of [ `Service ] * [ `Get ] ] a_s ],
                [ `WithoutSuffix ], unit param_name, unit param_name,
                [< registrable ])
               service ->
      get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> unit -> page Lwt.t) ->
      ('a, unit,
       [> `Attached of [> `Internal of [> `Coservice ] * [> `Get ] ] a_s ],
       [ `WithoutSuffix ], 'b, unit param_name, [> `Registrable ])
      service
    val register_new_coservice' :
      ?sp:server_params ->
      ?max_use:int ->
      ?timeout:float ->
      get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> unit -> page Lwt.t) ->
      ('a, unit, [> `Nonattached of [> `Get ] na_s ], [ `WithoutSuffix ], 'b,
       unit param_name, [> `Registrable ])
      service
    val register_new_coservice_for_session :
      server_params ->
      ?max_use:int ->
      ?timeout:float ->
      fallback:(unit, unit,
                [ `Attached of [ `Internal of [ `Service ] * [ `Get ] ] a_s ],
                [ `WithoutSuffix ], unit param_name, unit param_name,
                [< registrable ])
               service ->
      get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> unit -> page Lwt.t) ->
      ('a, unit,
       [> `Attached of [> `Internal of [> `Coservice ] * [> `Get ] ] a_s ],
       [ `WithoutSuffix ], 'b, unit param_name, [> `Registrable ])
      service
    val register_new_coservice_for_session' :
      server_params ->
      ?max_use:int ->
      ?timeout:float ->
      get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> unit -> page Lwt.t) ->
      ('a, unit, [> `Nonattached of [> `Get ] na_s ], [ `WithoutSuffix ], 'b,
       unit param_name, [> `Registrable ])
      service
    val register_new_post_service :
      ?sp:server_params ->
      fallback:('a, unit,
                [ `Attached of
                    [ `Internal of [ `Coservice | `Service ] * [ `Get ] ] a_s ],
                [< suff ] as 'b, 'c, unit param_name, [< `Registrable ])
               service ->
      post_params:('d, [ `WithoutSuffix ], 'e) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> '-> page Lwt.t) ->
      ('a, 'd,
       [> `Attached of
            [> `Internal of [ `Coservice | `Service ] * [> `Post ] ] a_s ],
       'b, 'c, 'e, [> `Registrable ])
      service
    val register_new_post_coservice :
      ?sp:server_params ->
      ?max_use:int ->
      ?timeout:float ->
      fallback:('a, unit,
                [ `Attached of
                    [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                    a_s ],
                [< suff ] as 'b, 'c, unit param_name, [< `Registrable ])
               service ->
      post_params:('d, [ `WithoutSuffix ], 'e) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> '-> page Lwt.t) ->
      ('a, 'd,
       [> `Attached of [> `Internal of [> `Coservice ] * [> `Post ] ] a_s ],
       'b, 'c, 'e, [> `Registrable ])
      service
    val register_new_post_coservice' :
      ?sp:server_params ->
      ?max_use:int ->
      ?timeout:float ->
      post_params:('a, [ `WithoutSuffix ], 'b) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> unit -> '-> page Lwt.t) ->
      (unit, 'a, [> `Nonattached of [> `Post ] na_s ], [ `WithoutSuffix ],
       unit param_name, 'b, [> `Registrable ])
      service
    val register_new_post_coservice_for_session :
      server_params ->
      ?max_use:int ->
      ?timeout:float ->
      fallback:('a, unit,
                [< `Attached of
                     [< `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                     a_s ],
                [< suff ] as 'b, 'c, unit param_name, [< `Registrable ])
               service ->
      post_params:('d, [ `WithoutSuffix ], 'e) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> '-> '-> page Lwt.t) ->
      ('a, 'd,
       [> `Attached of [> `Internal of [> `Coservice ] * [> `Post ] ] a_s ],
       'b, 'c, 'e, [> `Registrable ])
      service
    val register_new_post_coservice_for_session' :
      server_params ->
      ?max_use:int ->
      ?timeout:float ->
      post_params:('a, [ `WithoutSuffix ], 'b) params_type ->
      ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
      (server_params -> unit -> '-> page Lwt.t) ->
      (unit, 'a, [> `Nonattached of [> `Post ] na_s ], [ `WithoutSuffix ],
       unit param_name, 'b, [> `Registrable ])
      service
    module Cookies :
      sig
        type page = page * Extensions.cookieslist
        val send :
          ?cookies:Extensions.cookieslist ->
          ?charset:string ->
          ?code:int -> server_params -> page -> Eliommod.result_to_send
        val register :
          ?sp:server_params ->
          service:('a, 'b, [< internal_service_kind ], [< suff ], 'c, 'd,
                   [ `Registrable ])
                  service ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> '-> page Lwt.t) -> unit
        val register_for_session :
          server_params ->
          service:('a, 'b, [< internal_service_kind ], [< suff ], 'c, 'd,
                   [ `Registrable ])
                  service ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> '-> page Lwt.t) -> unit
        val register_new_service :
          ?sp:server_params ->
          url:url_path ->
          get_params:('a, [< suff ] as 'b, 'c) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> unit -> page Lwt.t) ->
          ('a, unit,
           [> `Attached of [> `Internal of [> `Service ] * [> `Get ] ] a_s ],
           'b, 'c, unit param_name, [> `Registrable ])
          service
        val register_new_coservice :
          ?sp:server_params ->
          ?max_use:int ->
          ?timeout:float ->
          fallback:(unit, unit,
                    [ `Attached of
                        [ `Internal of [ `Service ] * [ `Get ] ] a_s ],
                    [ `WithoutSuffix ], unit param_name, unit param_name,
                    [< registrable ])
                   service ->
          get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> unit -> page Lwt.t) ->
          ('a, unit,
           [> `Attached of [> `Internal of [> `Coservice ] * [> `Get ] ] a_s ],
           [ `WithoutSuffix ], 'b, unit param_name, [> `Registrable ])
          service
        val register_new_coservice' :
          ?sp:server_params ->
          ?max_use:int ->
          ?timeout:float ->
          get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> unit -> page Lwt.t) ->
          ('a, unit, [> `Nonattached of [> `Get ] na_s ], [ `WithoutSuffix ],
           'b, unit param_name, [> `Registrable ])
          service
        val register_new_coservice_for_session :
          server_params ->
          ?max_use:int ->
          ?timeout:float ->
          fallback:(unit, unit,
                    [ `Attached of
                        [ `Internal of [ `Service ] * [ `Get ] ] a_s ],
                    [ `WithoutSuffix ], unit param_name, unit param_name,
                    [< registrable ])
                   service ->
          get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> unit -> page Lwt.t) ->
          ('a, unit,
           [> `Attached of [> `Internal of [> `Coservice ] * [> `Get ] ] a_s ],
           [ `WithoutSuffix ], 'b, unit param_name, [> `Registrable ])
          service
        val register_new_coservice_for_session' :
          server_params ->
          ?max_use:int ->
          ?timeout:float ->
          get_params:('a, [ `WithoutSuffix ], 'b) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> unit -> page Lwt.t) ->
          ('a, unit, [> `Nonattached of [> `Get ] na_s ], [ `WithoutSuffix ],
           'b, unit param_name, [> `Registrable ])
          service
        val register_new_post_service :
          ?sp:server_params ->
          fallback:('a, unit,
                    [ `Attached of
                        [ `Internal of [ `Coservice | `Service ] * [ `Get ] ]
                        a_s ],
                    [< suff ] as 'b, 'c, unit param_name, [< `Registrable ])
                   service ->
          post_params:('d, [ `WithoutSuffix ], 'e) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> '-> page Lwt.t) ->
          ('a, 'd,
           [> `Attached of
                [> `Internal of [ `Coservice | `Service ] * [> `Post ] ] a_s ],
           'b, 'c, 'e, [> `Registrable ])
          service
        val register_new_post_coservice :
          ?sp:server_params ->
          ?max_use:int ->
          ?timeout:float ->
          fallback:('a, unit,
                    [ `Attached of
                        [ `Internal of [< `Coservice | `Service ] * [ `Get ] ]
                        a_s ],
                    [< suff ] as 'b, 'c, unit param_name, [< `Registrable ])
                   service ->
          post_params:('d, [ `WithoutSuffix ], 'e) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> '-> page Lwt.t) ->
          ('a, 'd,
           [> `Attached of [> `Internal of [> `Coservice ] * [> `Post ] ] a_s ],
           'b, 'c, 'e, [> `Registrable ])
          service
        val register_new_post_coservice' :
          ?sp:server_params ->
          ?max_use:int ->
          ?timeout:float ->
          post_params:('a, [ `WithoutSuffix ], 'b) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> unit -> '-> page Lwt.t) ->
          (unit, 'a, [> `Nonattached of [> `Post ] na_s ],
           [ `WithoutSuffix ], unit param_name, 'b, [> `Registrable ])
          service
        val register_new_post_coservice_for_session :
          server_params ->
          ?max_use:int ->
          ?timeout:float ->
          fallback:('a, unit,
                    [< `Attached of
                         [< `Internal of
                              [< `Coservice | `Service ] * [ `Get ] ]
                         a_s ],
                    [< suff ] as 'b, 'c, unit param_name, [< `Registrable ])
                   service ->
          post_params:('d, [ `WithoutSuffix ], 'e) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> '-> '-> page Lwt.t) ->
          ('a, 'd,
           [> `Attached of [> `Internal of [> `Coservice ] * [> `Post ] ] a_s ],
           'b, 'c, 'e, [> `Registrable ])
          service
        val register_new_post_coservice_for_session' :
          server_params ->
          ?max_use:int ->
          ?timeout:float ->
          post_params:('a, [ `WithoutSuffix ], 'b) params_type ->
          ?error_handler:(server_params -> (string * exn) list -> page Lwt.t) ->
          (server_params -> unit -> '-> page Lwt.t) ->
          (unit, 'a, [> `Nonattached of [> `Post ] na_s ],
           [ `WithoutSuffix ], unit param_name, 'b, [> `Registrable ])
          service
      end
  end