sig
  type 'a page = Eliom_service.non_ocaml redirection
  type options =
      [ `Found
      | `MovedPermanently
      | `NotNodifed
      | `SeeOther
      | `TemporaryRedirect
      | `UseProxy ]
  type 'a return = Eliom_service.non_ocaml
  val register :
    ?app:string ->
    ?scope:[< Eliom_common.scope ] ->
    ?options:options ->
    ?charset:string ->
    ?code:int ->
    ?content_type:string ->
    ?headers:Cohttp.Header.t ->
    ?secure_session:bool ->
    service:('get, 'post, 'b, 'c, 'd, Eliom_service.non_ext,
             Eliom_service.reg, [< `WithSuffix | `WithoutSuffix ], 'e, 'f,
             'a return)
            Eliom_service.t ->
    ?error_handler:((string * exn) list -> 'a page Lwt.t) ->
    ('get -> 'post -> 'a page Lwt.t) -> unit
  type 'a result = browser_content kind
  val send :
    ?options:options ->
    ?charset:string ->
    ?code:int ->
    ?content_type:string ->
    ?headers:Cohttp.Header.t -> 'a page -> 'a result Lwt.t
end