/** * @module @arcis/node/middleware/error-handler * Production-safe error handler middleware */ import type { Request, Response, NextFunction } from 'express'; import type { ErrorHandlerOptions } from '../core/types'; /** * Check if an error message contains sensitive infrastructure details. */ export declare function containsSensitiveInfo(message: string): boolean; /** * Create Express error handler that hides sensitive details in production. * * Prevents information leakage by: * - Hiding stack traces in production * - Hiding error messages unless explicitly exposed * - Scrubbing database errors, connection strings, and internal IPs * * @param options - Error handler configuration (or boolean for isDev) * @returns Express error handling middleware * * @example * // Production mode (default) - hides error details * app.use(errorHandler()); * * @example * // Development mode - shows error details and stack traces * app.use(errorHandler({ isDev: true })); * * @example * // With custom logger * app.use(errorHandler({ * isDev: false, * logger: arcis.logger() * })); */ export declare function errorHandler(options?: ErrorHandlerOptions | boolean): (err: Error, req: Request, res: Response, next: NextFunction) => void; /** * Alias for errorHandler * @see errorHandler */ export declare const createErrorHandler: typeof errorHandler; //# sourceMappingURL=error-handler.d.ts.map