export { SecurityValidator, securityValidator, SecurityValidationOptions } from './validation.js';
export { SecuritySanitizer, securitySanitizer, SecuritySanitizationOptions } from './sanitization.js';
export interface SecurityCheckOptions {
    skipValidation?: boolean;
    skipSanitization?: boolean;
    sanitizationContext?: 'mongodb' | 'typesense' | 'external_api' | 'general';
    validationOptions?: {
        maxDepth?: number;
        maxKeys?: number;
        allowedTypes?: string[];
    };
}
export declare class SecurityManager {
    private static instance;
    private constructor();
    static getInstance(): SecurityManager;
    performSecurityCheck(input: any, options?: SecurityCheckOptions): {
        isSecure: boolean;
        sanitizedInput?: any;
        issues: string[];
    };
    validateAndSanitizeIMO(imo: string | number): {
        isValid: boolean;
        sanitizedIMO?: string;
        issues: string[];
    };
    validateAndSanitizeEmail(email: string): {
        isValid: boolean;
        sanitizedEmail?: string;
        issues: string[];
    };
    validateAndSanitizeURL(url: string): {
        isValid: boolean;
        sanitizedURL?: string;
        issues: string[];
    };
    sanitizeCredentials(credentials: any): any;
    sanitizeLogData(data: any): any;
    sanitizeError(error: any): any;
    private performGeneralSanitization;
    private sanitizeString;
    private isDangerousKey;
    createSecurityReport(input: any): {
        summary: string;
        riskLevel: 'low' | 'medium' | 'high' | 'critical';
        issues: string[];
        recommendations: string[];
    };
}
export declare const securityManager: SecurityManager;
