import { NextFunction, Request, Response } from 'express'; export interface MiddlewareConfig { enabled?: boolean; [key: string]: unknown; } export type IndustryType = 'education' | 'healthcare' | 'finance' | 'retail' | 'government' | 'technology'; export interface UserContext { id: string; email?: string; roles?: string[]; permissions?: string[]; industry?: IndustryType; } export interface AuthConfig extends MiddlewareConfig { jwtSecret?: string; apiKeyHeader?: string; tokenHeader?: string; cookieName?: string; publicPaths?: string[]; enableJWT?: boolean; enableApiKey?: boolean; enableSession?: boolean; } export interface LoggingConfig extends MiddlewareConfig { level?: string; includeBody?: boolean; includeHeaders?: boolean; colorize?: boolean; metricsPrefix?: string; } export interface ErrorConfig extends MiddlewareConfig { enableStackTrace?: boolean; customFormatter?: (error: Error, req: Request) => ErrorResponse; } export interface CorsConfig extends MiddlewareConfig { origin?: string | string[]; credentials?: boolean; maxAge?: number; allowedHeaders?: string[]; exposedHeaders?: string[]; } export interface RateLimitConfig extends MiddlewareConfig { windowMs?: number; max?: number; message?: string; } export interface SecurityConfig extends MiddlewareConfig { contentSecurityPolicy?: string | boolean; strictTransportSecurity?: boolean; xFrameOptions?: string; xContentTypeOptions?: boolean; } export interface PhilosophyConfig extends MiddlewareConfig { trackingEnabled?: boolean; metricsPrefix?: string; } export interface ComplianceConfig extends MiddlewareConfig { frameworks?: string[]; enforceHttps?: boolean; requireAuth?: boolean; } export type MiddlewareFunction = (req: Request, res: Response, next: NextFunction) => void; export type ErrorMiddlewareFunction = (err: Error, req: Request, res: Response, next: NextFunction) => void; export interface AuthenticatedRequest extends Request { user?: UserContext; token?: string; sessionId?: string; } export interface SDKMiddleware { auth: MiddlewareFunction; logging: MiddlewareFunction; error: ErrorMiddlewareFunction; cors: MiddlewareFunction; rateLimit: MiddlewareFunction; security: MiddlewareFunction; philosophy: MiddlewareFunction; compliance: MiddlewareFunction; isEnabled: boolean; } export interface ErrorResponse { error: string; message: string; statusCode: number; timestamp: string; path: string; } //# sourceMappingURL=types-clean.d.ts.map