/**
 * Security utilities for preventing XSS attacks
 */
/**
 * Encode HTML entities to prevent XSS
 */
export declare function encodeHtmlEntities(input: string): string;
/**
 * Decode HTML entities (use with caution)
 */
export declare function decodeHtmlEntities(input: string): string;
/**
 * Check if input contains dangerous patterns
 */
export declare function containsDangerousPatterns(input: string): boolean;
/**
 * Sanitize input by removing dangerous content
 */
export declare function sanitizeInput(input: string, options?: {
    allowHtml?: boolean;
    maxLength?: number;
    stripScripts?: boolean;
    stripEvents?: boolean;
}): string;
/**
 * Validate input for security threats
 */
export declare function validateInput(input: string): {
    isValid: boolean;
    threats: string[];
    sanitized: string;
};
/**
 * Security configuration for input components
 */
export interface SecurityConfig {
    /** Enable XSS protection */
    enableXssProtection?: boolean;
    /** Maximum allowed input length */
    maxLength?: number;
    /** Allow HTML content (use with extreme caution) */
    allowHtml?: boolean;
    /** Strip script tags */
    stripScripts?: boolean;
    /** Strip event handlers */
    stripEvents?: boolean;
    /** Log security violations */
    logViolations?: boolean;
    /** Callback for security violations */
    onSecurityViolation?: (threats: string[], input: string) => void;
}
/**
 * Default security configuration
 */
export declare const DEFAULT_SECURITY_CONFIG: SecurityConfig;
/**
 * Sanitize file name for safe display
 * Removes dangerous characters that could lead to XSS
 */
export declare function sanitizeFileName(fileName: string): string;
//# sourceMappingURL=security.d.ts.map