package com.sun.identity.plugin.session;

import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.util.Map;

public interface SessionProvider {
   String REALM = "realm";
   String PRINCIPAL_NAME = "principalName";
   String AUTH_LEVEL = "AuthLevel";
   String AUTH_METHOD = "authMethod";
   String AUTH_INSTANT = "authInstant";
   String HOST = "Host";
   String HOST_NAME = "HostName";

   Object createSession(Map<String, String> var1, HttpServletRequest var2, HttpServletResponse var3, StringBuffer var4) throws SessionException;

   Object getSession(String var1) throws SessionException;

   Object getSession(HttpServletRequest var1) throws SessionException;

   void invalidateSession(Object var1, HttpServletRequest var2, HttpServletResponse var3) throws SessionException;

   boolean isValid(Object var1) throws SessionException;

   String getSessionID(Object var1);

   String getPrincipalName(Object var1) throws SessionException;

   void setProperty(Object var1, String var2, String[] var3) throws UnsupportedOperationException, SessionException;

   String[] getProperty(Object var1, String var2) throws UnsupportedOperationException, SessionException;

   String rewriteURL(Object var1, String var2) throws SessionException;

   void addListener(Object var1, SessionListener var2) throws UnsupportedOperationException, SessionException;

   void setLoadBalancerCookie(HttpServletResponse var1);

   long getTimeLeft(Object var1) throws SessionException;
}
