import type { H3Event } from 'h3'; import type { UserSession } from '../../types/session'; export interface SessionHooks { /** * Called when fetching the session from the API */ 'fetch': (session: UserSession, event: H3Event) => void | Promise; /** * Called before clearing the session */ 'clear': (session: UserSession, event: H3Event) => void | Promise; /** * Called before refreshing the session */ 'refresh': (session: UserSession, event: H3Event) => void | Promise; } export declare const sessionHooks: import("hookable").Hookable>; export declare function getUserSession(event: H3Event): Promise; /** * Set a user session * @param event * @param data User session data, please only store public information since it can be decoded with API calls */ export declare function setUserSession(event: H3Event, data: UserSession): Promise; export declare function clearUserSession(event: H3Event): Promise; export declare function refreshUserSession(event: H3Event): Promise; export declare function requireUserSession(event: H3Event): Promise; export declare function getUserSessionId(event: H3Event): Promise;