/// import { Request, Response } from '@loopback/rest'; import { FlclLoggerLb4 } from 'fc-logger'; import { SecurityConfig, SecurityValidationResult } from '../types'; export declare class SecurityMiddleware { private logger?; private corsHandler; private securityHeadersHandler; private fileUploadHandler; private inputValidator; private sqlInjectionDetector; private xssDetector; private securityLogger; private config; constructor(config?: SecurityConfig, logger?: FlclLoggerLb4 | undefined); /** * Create a SecurityMiddleware instance with default configuration */ static createWithDefaults(logger?: FlclLoggerLb4): SecurityMiddleware; /** * Create a SecurityMiddleware instance with custom configuration */ static createWithConfig(config: SecurityConfig, logger?: FlclLoggerLb4): SecurityMiddleware; private mergeWithDefaults; private initializeHandlers; /** * Check if the request is a health check request */ private isHealthCheckRequest; /** * Check if the request URL should be skipped from security checks */ private isSkippedUrl; /** * Apply comprehensive security checks to the incoming request */ applySecurityChecks(req: Request, res: Response): Promise; /** * Handle security violations and generate appropriate responses */ private handleSecurityViolation; /** * Get list of security checks that are currently enabled */ private getAppliedChecks; /** * Generate a unique request ID for tracking */ private generateRequestId; /** * Update security configuration at runtime */ updateConfiguration(newConfig: Partial): void; /** * Add health check paths to bypass security */ addHealthCheckPaths(paths: string[]): void; /** * Remove health check paths */ removeHealthCheckPaths(paths: string[]): void; /** * Get current health check paths */ getHealthCheckPaths(): string[]; /** * Get current security configuration */ getConfiguration(): SecurityConfig; }