import type { Logger } from '@iota-big3/sdk-observability';
import type { NextFunction, Request, Response } from 'express';
export interface XSSConfig {
    enabled?: boolean;
    sanitizeInput?: boolean;
    encodeOutput?: boolean;
    csp?: ContentSecurityPolicy;
    trustedDomains?: string[];
    blockOnDetection?: boolean;
}
export interface ContentSecurityPolicy {
    defaultSrc?: string[];
    scriptSrc?: string[];
    styleSrc?: string[];
    imgSrc?: string[];
    connectSrc?: string[];
    fontSrc?: string[];
    objectSrc?: string[];
    mediaSrc?: string[];
    frameSrc?: string[];
}
export declare class XSSProtection {
    private config;
    private logger?;
    private readonly xssPatterns;
    constructor(config?: XSSConfig, logger?: Logger);
    expressMiddleware(): (req: Request, res: Response, next: NextFunction) => void | Response<any, Record<string, any>>;
    private setSecurityHeaders;
    private checkRequest;
    private checkValue;
    private sanitizeObject;
    private sanitizeString;
    private encodeOutput;
    private htmlEncode;
}
//# sourceMappingURL=xss-protection.d.ts.map