/**
* @fileoverview Security Infrastructure Module
* @module @/lib/security
*
* Comprehensive security infrastructure for the Harbor React Framework.
* This module provides enterprise-grade security features including:
*
* - Content Security Policy (CSP) management with nonce support
* - Cross-Site Scripting (XSS) prevention and sanitization
* - Cross-Site Request Forgery (CSRF) protection
* - Encrypted secure storage (localStorage/sessionStorage)
* - React hooks for security operations
* - Global security context provider
*
* @example Basic Usage
* ```tsx
* import {
* SecurityProvider,
* useSecurityContext,
* useCSRFToken,
* useSanitizedContent,
* } from '@/lib/security';
*
* // Wrap your app with SecurityProvider
* function App() {
* return (
*
*
*
* );
* }
*
* // Use security features in components
* function SecureForm() {
* const { formInputProps } = useCSRFToken();
*
* return (
*
* );
* }
* ```
*
* @author Harbor Security Team
* @version 1.0.0
*/
export type { CSPDirective, CSPSourceValue, CSPPolicy, CSPNonce, CSPManagerConfig, CSPViolationReport, CSPViolationHandler, CSPNonceValue, HTMLEncodingContext, SanitizationOptions, DangerousContentResult, DangerousThreatType, ThreatDetail, SafeHTMLResult, SanitizedHTML, TagTransformer, CSRFToken, CSRFConfig, CSRFProtectionMode, CSRFValidationResult, CSRFRequestInterceptor, ValidatedCSRFToken, SecureStorageConfig, SecureStorageInterface, SecureStorageResult, SecureStorageSetOptions, SecureStorageMetadata, StorageQuotaInfo, EncryptedData, EncryptionAlgorithm, EncryptedString, SecurityContextState, SecurityContextActions, SecurityContextValue, SecurityViolation, SecurityConfiguration, SecurityEvent, SecurityEventType, SecurityEventHandler, UseSecureStorageResult, UseCSPNonceResult, UseCSRFTokenResult, UseSanitizedContentResult, DeepReadonly, } from './types';
export { CSPManager, generateNonce, parseCSPString, mergeCSPPolicies, createStrictPolicy, validateCSPPolicy, type CSPManagerClass, } from './csp-manager';
export { encodeHTML, encodeHTMLAttribute, encodeJavaScript, encodeCSS, encodeURL, encodeURLParam, encodeForContext, decodeHTML, sanitizeHTML, stripTags, detectDangerousContent, isDangerous, createSafeHTMLProps, createTextOnlyProps, createSafeInnerHTMLRef, isSanitizedHTML, assertSanitizedHTML, isContextSafe, isValidEmail, isValidURL, } from './xss-prevention';
export { CSRFProtection, generateOneTimeToken, createSecureRequestInit, createProtectedFormHandler, validateRequest, createCSRFInputProps, createCSRFMetaProps, type CSRFProtectionClass, } from './csrf-protection';
export { SecureStorage, createSecureLocalStorage, createSecureSessionStorage, initSecureStorage, getSecureStorage, isSecureStorageAvailable, secureWipe, generateEncryptionKey, hashForKey, } from './secure-storage';
export { SecurityProvider, SecurityConsumer, withSecurityProvider, type SecurityProviderProps, } from './SecurityProvider';
export { SecurityContext } from '../contexts/SecurityContext';
export { useSecureStorage, useSecureStorageWithTTL, type UseSecureStorageOptions, useCSPNonce, useNonceScript, useNonceStyle, type UseCSPNonceOptions, useCSRFToken, useSecureFetch, useSecureFormSubmit, type UseCSRFTokenOptions, useSanitizedContent, useSafeInnerHTML, useValidatedInput, useSafeText, useContextEncoder, useSafeHTMLWithReport, type UseSanitizedContentOptions, useSecurityContext, useSecurityState, useSecurityActions, useSecurityConfig, useViolationReporter, useViolations, useSecurityStatus, useSecurityReady, useSecureHandler, } from './hooks';
export { securityConfig, cspConfig, csrfConfig, secureStorageConfig, SECURITY_TIMING, SECURITY_HEADERS, ALLOWED_HTML_TAGS, ALLOWED_HTML_ATTRIBUTES, ALLOWED_URL_SCHEMES, isAllowedUrlScheme, isAllowedOrigin, isCSRFExcludedPath, requiresCSRFProtection, getSecurityConfigSummary, } from '../../config/security.config';