/** * Query Sanitizer - Query Injection Protection * * Validates and sanitizes query expressions to prevent injection attacks, * excessive resource usage, and other query-based exploits. */ export interface QueryValidationOptions { /** * Maximum query length (default: 1000 characters) */ maxLength?: number; /** * Maximum bracket/parenthesis nesting depth (default: 100) */ maxDepth?: number; /** * Strip ANSI escape codes (default: true) */ stripAnsiCodes?: boolean; } /** * Query expression sanitizer */ export declare class QuerySanitizer { /** * Sanitize and validate query expression * * @throws {SecurityError} if query is unsafe * @returns Sanitized query string */ static sanitize(query: string, options?: QueryValidationOptions): string; /** * Strip ANSI escape codes from string */ private static stripAnsiCodes; /** * Find dangerous patterns in query */ private static findDangerousPattern; /** * Calculate maximum nesting depth of brackets/parentheses */ private static getMaxNestingDepth; /** * Sanitize query for logging (truncate, remove sensitive data) */ static sanitizeForLogging(query: string): string; } //# sourceMappingURL=query-sanitizer.d.ts.map