import { PathValidationResult, SanitizationResult, LockAcquisitionResult, LockId } from '../core/unified-security-engine.js'; import { CommandExecutionContext } from '../nl/command-handlers.js'; export interface SecurityValidationResult { valid: boolean; sanitizedData?: unknown; pathValidation?: PathValidationResult; sanitizationResult?: SanitizationResult; lockResult?: LockAcquisitionResult; violations: SecurityViolation[]; performanceMetrics: { totalTime: number; pathValidationTime?: number; sanitizationTime?: number; lockAcquisitionTime?: number; }; } export interface SecurityViolation { type: 'path' | 'sanitization' | 'access' | 'performance'; severity: 'low' | 'medium' | 'high' | 'critical'; description: string; field?: string; originalValue?: unknown; sanitizedValue?: unknown; context?: Record; } export interface SecurityMiddlewareConfig { enablePathValidation: boolean; enableInputSanitization: boolean; enableConcurrentAccess: boolean; performanceThresholdMs: number; strictMode: boolean; logViolations: boolean; blockOnCriticalViolations: boolean; } export interface SecurityOperationContext { operation: string; resource?: string; sessionId?: string; userId?: string; filePaths?: string[]; requiresLock?: boolean; lockTimeout?: number; } export declare class SecurityMiddleware { private static instance; private securityEngine; private config; private constructor(); static getInstance(config?: Partial): SecurityMiddleware; private mapSeverity; validateCommandSecurity(data: unknown, context: CommandExecutionContext, operationContext: SecurityOperationContext): Promise; releaseLocks(lockIds: (string | LockId)[]): Promise; private createValidationResult; getConfig(): SecurityMiddlewareConfig; updateConfig(config: Partial): void; shutdown(): void; } export declare function validateCommandSecurity(data: unknown, context: CommandExecutionContext, operationContext: SecurityOperationContext): Promise; export declare function releaseLocks(lockIds: string[]): Promise; //# sourceMappingURL=security-middleware.d.ts.map