/**
 * Enhanced Security Plugin for Enterprise Applications
 *
 * This plugin provides comprehensive security hardening including:
 * - Helmet.js integration with proper CSP
 * - Dynamic CORS validation
 * - Enhanced rate limiting per user
 * - Advanced input sanitization
 * - Security headers management
 * - Suspicious request detection
 */
import { Express } from 'express';
import { BasePlugin } from '../plugins/Plugin';
import { Logger } from '../logging/Logger';
export interface SecurityPluginConfig {
    enableCSP?: boolean;
    enableHSTS?: boolean;
    enableXSSProtection?: boolean;
    allowedOrigins?: string[];
    enableDynamicCORS?: boolean;
    trustedProxies?: string[];
    maxRequestSize?: string;
    enableSecurityHeaders?: boolean;
    enableInputSanitization?: boolean;
    logger?: Logger;
}
/**
 * Enhanced Security Plugin with comprehensive security hardening
 *
 * @example
 * ```typescript
 * // In your app setup
 * import { EnhancedSecurityPlugin } from 'thrilled-be-core';
 *
 * const securityPlugin = new EnhancedSecurityPlugin({
 *   enableCSP: true,
 *   enableHSTS: process.env.NODE_ENV === 'production',
 *   allowedOrigins: ['https://myapp.com'],
 *   enableInputSanitization: true,
 * });
 *
 * app.use(securityPlugin);
 * ```
 */
export declare class EnhancedSecurityPlugin extends BasePlugin {
    readonly name = "enhanced-security";
    readonly version = "1.0.0";
    private config;
    private allowedOrigins;
    private isProduction;
    private validationModule;
    private XSSProtection;
    private SQLInjectionProtection;
    constructor(config?: SecurityPluginConfig);
    protected setup(): Promise<void>;
    /**
     * Initialize input sanitization modules
     */
    private initializeInputSanitization;
    protected registerMiddleware(app: Express): void;
    /**
     * Register routes for this plugin
     */
    protected registerRoutes(app: Express): void;
    /**
     * Setup input sanitization middleware
     */
    private setupInputSanitization;
    /**
     * Setup Helmet.js with comprehensive security configuration
     */
    private setupHelmetSecurity;
    /**
     * Setup dynamic CORS validation
     */
    private setupDynamicCORS;
    /**
     * Setup enhanced request validation
     */
    private setupRequestValidation;
    /**
     * Initialize allowed origins
     */
    private initializeAllowedOrigins;
    /**
     * Check if origin is allowed
     */
    private isOriginAllowed;
    /**
     * Check if origin is a development origin
     */
    private isDevelopmentOrigin;
    /**
     * Add CORS headers to response
     */
    private addCORSHeaders;
    /**
     * Detect suspicious requests
     */
    private detectSuspiciousRequests;
    /**
     * Record security event for monitoring
     */
    private recordSecurityEvent;
    /**
     * Parse size string to bytes
     */
    private parseSize;
    /**
     * Health check for security plugin
     */
    healthCheck(): Promise<{
        status: 'healthy' | 'unhealthy';
        details: Record<string, unknown>;
    }>;
}
//# sourceMappingURL=EnhancedSecurityPlugin.d.ts.map