import { Request, Response } from 'express';
/**
 * Parses cookies from an Express request without relying on cookie-parser middleware
 *
 * Extracts and parses the Cookie header from the request, handling edge cases such as:
 * - Missing Cookie header
 * - Cookie values containing equals signs
 * - URL encoded values
 * - Whitespace around separators
 *
 * @param req - Express Request object
 * @returns An object containing all cookies as key-value pairs
 * @example
 * // Returns { token: "abc123", session: "xyz789" }
 * const cookies = parseCookies(req);
 * const sessionId = cookies.session;
 */
export declare const parseCookies: (req: Request) => Record<string, string>;
/**
 * Sets a cookie using direct header manipulation instead of cookie-parser middleware
 *
 * @param res - Express Response object
 * @param name - Name of the cookie
 * @param value - Value to store in the cookie (will be encoded)
 * @param options - Cookie options
 * @param options.maxAge - Cookie lifetime in milliseconds
 * @param options.dangerouslyDisableSecureCookies - Whether to omit the Secure flag
 */
export declare function setCookie(res: Response, name: string, value: string, options?: {
    maxAge?: number;
    dangerouslyDisableSecureCookies?: boolean;
}): void;
/**
 * Clears a cookie by setting its Max-Age to 0 and maintaining security properties
 *
 * @param res - Express Response object
 * @param cookieName - Name of the cookie to clear
 * @param dangerouslyDisableSecureCookies - Whether to omit the Secure flag (defaults to false)
 */
export declare function clearCookie(res: Response, cookieName: string, dangerouslyDisableSecureCookies?: boolean): void;
