import type { NextFunction, Request, Response } from 'express';
export interface SQLInjectionConfig {
    enabled?: boolean;
    blockSuspiciousPatterns?: boolean;
    logSuspiciousQueries?: boolean;
    customPatterns?: RegExp[];
    whitelist?: string[];
    maxQueryLength?: number;
    maxParameterLength?: number;
}
export declare class SQLInjectionGuard {
    private config;
    private logger?;
    private readonly suspiciousPatterns;
    constructor(config?: SQLInjectionConfig, logger?: Logger);
    expressMiddleware(): (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
    fastifyPlugin(): (fastify: import("fastify").FastifyInstance) => Promise<void>;
    private checkRequest;
    private checkValue;
    private hasEncodedSQLCharacters;
    private handleViolation;
    sanitize(value: string): string;
    createSafeQueryBuilder(): {
        query: string;
        params: unknown[];
        select(): any;
        from(): any;
        where(condition: string, value?: unknown): any;
    };
}
//# sourceMappingURL=sql-injection-guard.d.ts.map