import type { Context } from '../context.js'; import { type CookieOptions } from '../context.js'; /** * Secure cookie defaults for production */ export declare const SECURE_COOKIE_DEFAULTS: CookieOptions; export interface CookiePluginOptions { /** * Use secure defaults (httpOnly, secure, sameSite) * @default true */ secureDefaults?: boolean; /** * Override default cookie options */ defaultOptions?: CookieOptions; /** * Warn when setting insecure cookies * @default true */ warnInsecure?: boolean; } export declare function cookie(options?: CookiePluginOptions): (ctx: Context, next: () => Promise) => Promise; export declare function setCookie(ctx: Context, name: string, value: string, options?: CookieOptions): void; export declare function getCookie(ctx: Context, name: string): string | undefined; export declare function deleteCookie(ctx: Context, name: string, options?: CookieOptions): void; export declare function clearCookies(ctx: Context): void; /** * Generate a secure session ID */ export declare function generateSessionId(): string; /** * Regenerate session ID (prevent session fixation attacks) * Call this after successful login or privilege elevation */ export declare function regenerateSession(ctx: Context, sessionCookieName?: string): string; /** * Validate session cookie exists and is properly formatted */ export declare function validateSession(ctx: Context, sessionCookieName?: string): boolean; /** * Set a secure cookie with all recommended security options */ export declare function setSecureCookie(ctx: Context, name: string, value: string, options?: Omit): void; //# sourceMappingURL=cookie.d.ts.map