/** * @module @arcis/node/middleware/cookies * Secure cookie defaults middleware */ import type { RequestHandler } from 'express'; /** Cookie security configuration */ export interface SecureCookieOptions { /** Force HttpOnly on all cookies. Default: true */ httpOnly?: boolean; /** Force Secure flag (HTTPS only). Default: true in production, false in dev */ secure?: boolean; /** SameSite attribute. Default: 'Lax' */ sameSite?: 'Strict' | 'Lax' | 'None' | false; /** Override Path attribute. Default: undefined (keep original) */ path?: string; } /** * Enforce secure defaults on a Set-Cookie header value. */ export declare function enforceSecureCookie(cookieStr: string, options: Required> & { path?: string; }): string; /** * Create middleware that enforces secure cookie defaults. * * Intercepts Set-Cookie headers and adds missing security attributes: * - HttpOnly: prevents JavaScript access (XSS cookie theft) * - Secure: cookies only sent over HTTPS * - SameSite: CSRF protection * * @param options - Cookie security configuration * @returns Express middleware * * @example * // Enforce defaults on all cookies * app.use(secureCookieDefaults()); * * @example * // Strict SameSite for sensitive apps * app.use(secureCookieDefaults({ sameSite: 'Strict' })); */ export declare function secureCookieDefaults(options?: SecureCookieOptions): RequestHandler; /** * Alias for secureCookieDefaults * @see secureCookieDefaults */ export declare const createSecureCookies: typeof secureCookieDefaults; //# sourceMappingURL=cookies.d.ts.map