import type { HttpContext } from '@adonisjs/core/http'; import type { CookieOptions } from '@adonisjs/core/types/http'; import type { SessionData, SessionStoreContract } from '../types.ts'; /** * Cookie store stores the session data inside an encrypted cookie. * Best for simple applications with minimal session data. * * @example * const cookieStore = new CookieStore({ * httpOnly: true, * secure: true, * sameSite: 'strict' * }, ctx) */ export declare class CookieStore implements SessionStoreContract { #private; /** * Creates a new cookie store instance * * @param config - Cookie configuration options * @param ctx - HTTP context */ constructor(config: Partial, ctx: HttpContext); /** * Reads session value from the encrypted cookie * * @param sessionId - Session identifier used as cookie name * * @example * const data = store.read('sess_abc123') */ read(sessionId: string): SessionData | null; /** * Writes session values to an encrypted cookie * * @param sessionId - Session identifier used as cookie name * @param values - Session data to store * * @example * store.write('sess_abc123', { userId: 123, theme: 'dark' }) */ write(sessionId: string, values: SessionData): void; /** * Removes the session cookie from the client * * @param sessionId - Session identifier used as cookie name * * @example * store.destroy('sess_abc123') */ destroy(sessionId: string): void; /** * Updates the cookie expiry by rewriting it with existing values * * @param sessionId - Session identifier used as cookie name * * @example * store.touch('sess_abc123') // Refreshes cookie expiry */ touch(sessionId: string): void; }