///
import { Provider, ValueOrPromise } from '@loopback/core';
import { Request } from '@loopback/rest';
import { FlclError, FlclLoggerLb4 } from 'fc-logger';
import { SecurityValidationResult } from '../types';
export type LoggerConfig = {
className: string;
methodName: string;
};
/**
* Security validator provider that provides comprehensive security validation
* Renamed from ValidatorService for better clarity
*/
export declare class SecurityValidationProvider implements Provider {
private logger?;
private flclError?;
constructor(logger?: FlclLoggerLb4 | undefined, flclError?: FlclError | undefined);
value(): ValueOrPromise;
/**
* Validate entire request for security threats
*/
validateSecurityRequest(request: Request): Promise;
/**
* Validate request body for security threats
*/
validateRequestBody(request: Request): Promise;
/**
* Validate query parameters for security threats
*/
validateQueryParams(request: Request): Promise;
/**
* Validate URL parameters for security threats
*/
validateUrlParams(request: Request): Promise;
/**
* Legacy validate method for backward compatibility
*/
validate(request: Request, loggerConfig?: LoggerConfig): Promise;
/**
* Validate object for common security threats
*/
private validateObjectSecurity;
/**
* Check for SQL injection patterns in object
*/
private checkForSQLInjectionInObject;
/**
* Check for XSS patterns in object
*/
private checkForXSSInObject;
/**
* Check for oversized data that could indicate DoS attempt
*/
private checkForOversizedData;
/**
* Traverse object looking for regex patterns
*/
private traverseObjectForPatterns;
/**
* Traverse object checking for size issues
*/
private traverseObjectForSize;
}
export { SecurityValidationProvider as ValidatorService };