sig
  type timeout = TGlobal | TNone | TSome of float
  type service_session
  type data_session
  type persistent_session
  val close_service_session :
    ?close_group:bool ->
    session:Eliom_state.Session_admin.service_session -> unit
  val close_volatile_data_session :
    ?close_group:bool ->
    session:Eliom_state.Session_admin.data_session -> unit
  val close_persistent_data_session :
    ?close_group:bool ->
    session:Eliom_state.Session_admin.persistent_session -> unit Lwt.t
  val get_volatile_session_data :
    session:Eliom_state.Session_admin.data_session ->
    table:'Eliom_state.volatile_table -> 'a
  val get_persistent_session_data :
    session:Eliom_state.Session_admin.persistent_session ->
    table:'Eliom_state.persistent_table -> 'Lwt.t
  val remove_volatile_session_data :
    session:Eliom_state.Session_admin.data_session ->
    table:'Eliom_state.volatile_table -> unit
  val remove_persistent_session_data :
    session:Eliom_state.Session_admin.persistent_session ->
    table:'Eliom_state.persistent_table -> unit Lwt.t
  val get_service_scope_name :
    session:Eliom_state.Session_admin.service_session ->
    Eliom_common.scope_name
  val get_volatile_data_scope_name :
    session:Eliom_state.Session_admin.data_session -> Eliom_common.scope_name
  val get_persistent_data_scope_name :
    session:Eliom_state.Session_admin.persistent_session ->
    Eliom_common.scope_name
  val get_service_session_cookie_scope :
    session:Eliom_state.Session_admin.service_session ->
    Eliom_common.cookie_scope
  val get_volatile_data_session_cookie_scope :
    session:Eliom_state.Session_admin.data_session ->
    Eliom_common.cookie_scope
  val get_persistent_data_session_cookie_scope :
    session:Eliom_state.Session_admin.persistent_session ->
    Eliom_common.cookie_scope
  val set_service_session_timeout :
    session:Eliom_state.Session_admin.service_session -> float option -> unit
  val set_volatile_data_session_timeout :
    session:Eliom_state.Session_admin.data_session -> float option -> unit
  val set_persistent_data_session_timeout :
    session:Eliom_state.Session_admin.persistent_session ->
    float option -> unit Lwt.t
  val get_service_session_timeout :
    session:Eliom_state.Session_admin.service_session ->
    Eliom_state.Session_admin.timeout
  val get_volatile_data_session_timeout :
    session:Eliom_state.Session_admin.data_session ->
    Eliom_state.Session_admin.timeout
  val get_persistent_data_session_timeout :
    session:Eliom_state.Session_admin.persistent_session ->
    Eliom_state.Session_admin.timeout
  val unset_service_session_timeout :
    session:Eliom_state.Session_admin.service_session -> unit
  val unset_volatile_data_session_timeout :
    session:Eliom_state.Session_admin.data_session -> unit
  val unset_persistent_data_session_timeout :
    session:Eliom_state.Session_admin.persistent_session -> unit Lwt.t
  val iter_service_sessions :
    (Eliom_state.Session_admin.service_session -> unit Lwt.t) -> unit Lwt.t
  val iter_volatile_data_sessions :
    (Eliom_state.Session_admin.data_session -> unit Lwt.t) -> unit Lwt.t
  val iter_persistent_data_sessions :
    (Eliom_state.Session_admin.persistent_session -> unit Lwt.t) ->
    unit Lwt.t
  val fold_service_sessions :
    (Eliom_state.Session_admin.service_session -> '-> 'Lwt.t) ->
    '-> 'Lwt.t
  val fold_volatile_data_sessions :
    (Eliom_state.Session_admin.data_session -> '-> 'Lwt.t) ->
    '-> 'Lwt.t
  val fold_persistent_data_sessions :
    (Eliom_state.Session_admin.persistent_session -> '-> 'Lwt.t) ->
    '-> 'Lwt.t
end