/**
 * Shared Security Headers Utility
 * Generates consistent security headers for all Next.js apps.
 * Zero heavy dependencies — pure utility function.
 */
interface SecurityHeadersConfig {
    /** Enable Content-Security-Policy (default: true) */
    csp?: boolean;
    /** Additional allowed script-src domains */
    cspScriptSrc?: string[];
    /** Additional allowed connect-src domains */
    cspConnectSrc?: string[];
    /** Additional allowed frame-src domains */
    cspFrameSrc?: string[];
    /** Additional allowed style-src domains */
    cspStyleSrc?: string[];
    /** Additional allowed img-src domains */
    cspImgSrc?: string[];
    /** X-Frame-Options value (default: 'DENY') */
    frameOptions?: "DENY" | "SAMEORIGIN";
    /** Enable HSTS in production (default: true) */
    hsts?: boolean;
    /** HSTS max-age in seconds (default: 31536000 = 1 year) */
    hstsMaxAge?: number;
    /** Whether this is a production build (default: auto-detect from NODE_ENV) */
    isProduction?: boolean;
}
interface NextHeaderEntry {
    source: string;
    headers: Array<{
        key: string;
        value: string;
    }>;
}
declare const SecurityHeaderPresets: {
    /** Minimal: basic headers only, no CSP */
    readonly minimal: {
        csp: false;
        hsts: false;
    };
    /** Standard: full CSP + HSTS for most apps */
    readonly standard: {
        csp: true;
        hsts: true;
        frameOptions: "DENY";
    };
    /** Strict: deny all permissions, strict CSP, no frame embedding */
    readonly strict: {
        csp: true;
        hsts: true;
        hstsMaxAge: number;
        frameOptions: "DENY";
    };
};
/**
 * Generate security headers array compatible with Next.js `headers()` config.
 *
 * Usage in next.config.mjs:
 * ```js
 * const { generateSecurityHeaders } = require('@digilogiclabs/platform-core');
 *
 * module.exports = {
 *   async headers() {
 *     return generateSecurityHeaders({
 *       isProduction: process.env.NODE_ENV === 'production',
 *       cspScriptSrc: ['https://js.stripe.com'],
 *       cspConnectSrc: ['https://api.stripe.com'],
 *     });
 *   },
 * };
 * ```
 */
declare function generateSecurityHeaders(config?: SecurityHeadersConfig): NextHeaderEntry[];

export { type NextHeaderEntry, SecurityHeaderPresets, type SecurityHeadersConfig, generateSecurityHeaders };
