import type { Context, Middleware, Next } from '../types.js'; export interface SessionStore { get(id: string): Promise | null>; set(id: string, data: Record, maxAge: number): Promise; destroy(id: string): Promise; } export interface SessionOptions { cookieName?: string; maxAge?: number; store?: SessionStore; } export declare class Session { private data; private _id; private _modified; constructor(id: string, data?: Record); get id(): string; get(key: string): unknown; set(key: string, value: unknown): void; has(key: string): boolean; delete(key: string): void; flash(key: string, value: unknown): void; getFlash(key: string): unknown; all(): Record; clear(): void; get modified(): boolean; serialize(): Record; } export declare class MemorySessionStore implements SessionStore { private sessions; get(id: string): Promise | null>; set(id: string, data: Record, maxAge: number): Promise; destroy(id: string): Promise; } export declare class SessionMiddleware implements Middleware { private store; private cookieName; private maxAge; constructor(options?: SessionOptions); handle(ctx: Context, next: Next): Promise; private generateId; } export declare function session(options?: SessionOptions): SessionMiddleware; //# sourceMappingURL=session.d.ts.map