sig
  val service :
    ?rt:'rt Eliom_service.rt ->
    ?https:bool ->
    path:Eliom_lib.Url.path ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?priority:int ->
    get_params:('get, [< Eliom_service.suff ] as 'a, 'gn)
               Eliom_parameter.params_type ->
    unit ->
    ('get, unit, [< Eliom_service.service_method > `Get ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `Service ], 'a, 'gn, unit,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val post_service :
    ?rt:'rt Eliom_service.rt ->
    ?https:bool ->
    fallback:('get, unit, [< `Get ], [< Eliom_service.attached_kind ],
              [< `AttachedCoservice | `Service ] as 'a,
              [< Eliom_service.suff ] as 'b, 'gn, unit, [< `Registrable ],
              [< Eliom_service.non_ocaml_service ])
             Eliom_service.service ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?priority:int ->
    post_params:('post, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
    unit ->
    ('get, 'post, [< Eliom_service.service_method > `Post ],
     [< Eliom_service.attached > `Attached ], 'a, 'b, 'gn, 'pn,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val put_service :
    ?rt:'rt Eliom_service.rt ->
    ?https:bool ->
    path:Eliom_lib.Url.path ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?priority:int ->
    get_params:('get, [< Eliom_service.suff ] as 'a, 'gn)
               Eliom_parameter.params_type ->
    unit ->
    ('get, Eliom_parameter.raw_post_data,
     [< Eliom_service.service_method > `Put ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `Service ], 'a, 'gn,
     Eliom_parameter.no_param_name,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val delete_service :
    ?rt:'rt Eliom_service.rt ->
    ?https:bool ->
    path:Eliom_lib.Url.path ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?priority:int ->
    get_params:('get, [< Eliom_service.suff ] as 'a, 'gn)
               Eliom_parameter.params_type ->
    unit ->
    ('get, Eliom_parameter.raw_post_data,
     [< Eliom_service.service_method > `Delete ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `Service ], 'a, 'gn,
     Eliom_parameter.no_param_name,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val coservice :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    fallback:(unit, unit, [< `Get ], [< Eliom_service.attached_kind ],
              [< `Service ], [ `WithoutSuffix ], unit, unit,
              [< Eliom_service.registrable ],
              [< Eliom_service.non_ocaml_service ])
             Eliom_service.service ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
    unit ->
    ('get, unit, [< Eliom_service.service_method > `Get ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `AttachedCoservice ],
     [ `WithoutSuffix ], 'gn, unit,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val post_coservice :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    fallback:('get, unit, [< `Get ], [< Eliom_service.attached_kind ],
              [< `AttachedCoservice | `Service ],
              [< Eliom_service.suff ] as 'a, 'gn, unit, [< `Registrable ],
              [< Eliom_service.non_ocaml_service ])
             Eliom_service.service ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    post_params:('post, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
    unit ->
    ('get, 'post, [< Eliom_service.service_method > `Post ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `AttachedCoservice ], 'a, 'gn, 'pn,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val put_coservice :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    fallback:(unit, Eliom_parameter.raw_post_data, [ `Put ],
              Eliom_service.attached_kind, [ `Service ], [ `WithoutSuffix ],
              unit, Eliom_parameter.no_param_name,
              [< Eliom_service.registrable ],
              [< Eliom_service.non_ocaml_service ])
             Eliom_service.service ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
    unit ->
    ('get, Eliom_parameter.raw_post_data,
     [< Eliom_service.service_method > `Put ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `AttachedCoservice ],
     [ `WithoutSuffix ], 'gn, Eliom_parameter.no_param_name,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val delete_coservice :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    fallback:(unit, Eliom_parameter.raw_post_data, [ `Delete ],
              Eliom_service.attached_kind, [ `Service ], [ `WithoutSuffix ],
              unit, Eliom_parameter.no_param_name,
              [< Eliom_service.registrable ],
              [< Eliom_service.non_ocaml_service ])
             Eliom_service.service ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
    unit ->
    ('get, Eliom_parameter.raw_post_data,
     [< Eliom_service.service_method > `Delete ],
     [< Eliom_service.attached > `Attached ],
     [< Eliom_service.service_kind > `AttachedCoservice ],
     [ `WithoutSuffix ], 'gn, Eliom_parameter.no_param_name,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val coservice' :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
    unit ->
    ('get, unit, [< Eliom_service.service_method > `Get ],
     [< Eliom_service.attached > `Nonattached ],
     [< Eliom_service.service_kind > `NonattachedCoservice ],
     [ `WithoutSuffix ], 'gn, unit,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val post_coservice' :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    ?keep_get_na_params:bool ->
    post_params:('post, [ `WithoutSuffix ], 'pn) Eliom_parameter.params_type ->
    unit ->
    (unit, 'post, [< Eliom_service.service_method > `Post ],
     [< Eliom_service.attached > `Nonattached ],
     [< Eliom_service.service_kind > `NonattachedCoservice ],
     [ `WithoutSuffix ], unit, 'pn,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val put_coservice' :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
    unit ->
    ('get, Eliom_parameter.raw_post_data,
     [< Eliom_service.service_method > `Put ],
     [< Eliom_service.attached > `Nonattached ],
     [< Eliom_service.service_kind > `NonattachedCoservice ],
     [ `WithoutSuffix ], 'gn, Eliom_parameter.no_param_name,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
  val delete_coservice' :
    ?rt:'rt Eliom_service.rt ->
    ?name:string ->
    ?csrf_safe:bool ->
    ?csrf_scope:[< Eliom_common.user_scope ] ->
    ?csrf_secure:bool ->
    ?max_use:int ->
    ?timeout:float ->
    ?https:bool ->
    ?keep_nl_params:[ `All | `None | `Persistent ] ->
    get_params:('get, [ `WithoutSuffix ], 'gn) Eliom_parameter.params_type ->
    unit ->
    ('get, Eliom_parameter.raw_post_data,
     [< Eliom_service.service_method > `Delete ],
     [< Eliom_service.attached > `Nonattached ],
     [< Eliom_service.service_kind > `NonattachedCoservice ],
     [ `WithoutSuffix ], 'gn, Eliom_parameter.no_param_name,
     [< Eliom_service.registrable > `Registrable ],
     [> Eliom_service.appl_service ])
    Eliom_service.service
end