/** * SQL Query Validator - Prevents SQL Injection * * Validates SQL queries to prevent common SQL injection attacks */ export interface QueryValidationOptions { allowDynamicQueries?: boolean; maxQueryLength?: number; forbiddenPatterns?: RegExp[]; logViolations?: boolean; } export declare class SQLQueryValidator { private options; private violations; constructor(options?: QueryValidationOptions); /** * Validate a SQL query */ validate(query: string, context?: { clientIP?: string; userId?: string; }): void; /** * Validate and sanitize query parameters */ validateParams(params: any[]): any[]; /** * Create a safe parameterized query */ createSafeQuery(template: string, params: any[]): { query: string; params: any[]; }; /** * Log security violation */ private logViolation; /** * Get violation log */ getViolations(): typeof this.violations; /** * Clear violation log */ clearViolations(): void; } /** * Get or create global SQL validator */ export declare function getSQLValidator(): SQLQueryValidator; /** * Validate SQL query (convenience function) */ export declare function validateSQL(query: string, params?: any[]): void; /** * Create safe SQL query (convenience function) */ export declare function sql(template: string, params: any[]): { query: string; params: any[]; }; //# sourceMappingURL=sqlValidator.d.ts.map