import { Request, Response, NextFunction } from "express"; import { MaliciousPatternResult, MaliciousPatternOptions } from "../../../services/MaliciousPatterns.service"; import { NsbMiddlewareOptions, SecurityDatabaseAdapterType } from "../../types/types.express.middleware"; /** * Enhanced NSB Express middleware for securing incoming requests * @param options - Middleware options * @returns Express middleware function */ export declare const nehonixShieldMiddleware: (options?: NsbMiddlewareOptions) => (req: Request, res: Response, next: NextFunction) => Promise>>; /** * Utility to analyze specific request components * @param req - Express request object * @param components - Components to analyze (url, headers, query, body) * @parascanRequestm options - NSB analysis options * @returns Analysis result */ export declare const scanRequest: (req: Request, components?: ("url" | "headers" | "query" | "body")[], options?: MaliciousPatternOptions & { blockOnMalicious?: boolean; }) => Promise; /** * Cleans up old suspicious IP records */ export declare function cleanupSuspiciousIPs(): void; /** * * This function aggregates all security events from the database and generates a detailed * security report with threat analysis, recommendations, and visualizable timeline data. * The report's detail level and included sections are customizable through options. * * @param options Report generation options * @returns Detailed security report * @example * ```typescript * // Generate a basic report for the last 30 days * const basicReport = await generateSecurityReport({ * days: 30, * detailLevel: 'basic' * }); * * // Generate a comprehensive report with all details * const fullReport = await generateSecurityReport({ * days: 7, * detailLevel: 'comprehensive', * includeIPs: true, * includePatterns: true, * includeRecommendations: true * }); * ``` */ export declare function generateSecurityReport(options?: { days?: number; includeIPs?: boolean; includePatterns?: boolean; includeRecommendations?: boolean; detailLevel?: "basic" | "detailed" | "comprehensive"; }): Promise; /** * Function to block an IP address with a custom reason */ export declare function blockIP(ip: string, reason: string): Promise; /** * Creates a custom database adapter for specific storage solutions * @param implementation The implementation of the database adapter * @returns A configured SecurityDatabaseAdapter */ export declare function createDatabaseAdapter(implementation: Partial): SecurityDatabaseAdapterType; //# sourceMappingURL=express.middleware.d.ts.map