import { SecurityResult } from '../types/common';
export interface EnhancedSecurityConfig {
    apiUrl: string;
    timeout?: number;
    onError?: (error: any) => void;
}
export interface SecurityPolicyConfig {
    enableThreatDetection: boolean;
    enableAnomalyDetection: boolean;
    enableAdaptiveRateLimit: boolean;
    enableFileScanning: boolean;
    blockCritical: boolean;
    blockHigh: boolean;
    blockMedium: boolean;
    maxFileSize: number;
    allowedFileTypes: string[];
}
export interface ThreatAnalysisResult {
    isThreat: boolean;
    threatType: string[];
    severity: 'low' | 'medium' | 'high' | 'critical';
    details: string[];
    confidence: number;
}
export interface AnomalyAnalysisResult {
    score: number;
    factors: string[];
    severity: 'low' | 'medium' | 'high' | 'critical';
    confidence: number;
}
export interface FileAnalysisResult {
    isThreat: boolean;
    threats: string[];
    severity: 'low' | 'medium' | 'high' | 'critical';
    confidence: number;
    details: {
        fileType: string;
        actualMimeType: string;
        size: number;
        hash: string;
        malware: {
            signatures: string[];
            heuristics: string[];
            behaviorAnalysis: string[];
        };
        steganography: {
            detected: boolean;
            suspiciousPatterns: string[];
        };
    };
}
export interface SecurityMetrics {
    requests: {
        total: number;
        blocked: number;
        allowed: number;
        blockRate: number;
    };
    threats: {
        total: number;
        sqlInjection: number;
        xss: number;
        malware: number;
        anomalies: number;
    };
    performance: {
        averageResponseTime: number;
        p95ResponseTime: number;
        p99ResponseTime: number;
    };
    rateLimit: {
        totalRequests: number;
        limitedRequests: number;
        adaptiveLimits: number;
    };
}
/**
 * Enhanced Security Module for SecKav SDK
 * Provides access to advanced AI-powered security features
 */
export declare class EnhancedSecurityModule {
    private config;
    constructor(config: EnhancedSecurityConfig);
    /**
     * Configure enhanced security policy
     */
    configureSecurityPolicy(token: string, policy: SecurityPolicyConfig): Promise<SecurityResult>;
    /**
     * Analyze threat patterns in real-time
     */
    analyzeThreat(token: string, data: {
        url?: string;
        method?: string;
        headers?: Record<string, string>;
        query?: Record<string, any>;
        body?: any;
    }): Promise<ThreatAnalysisResult>;
    /**
     * Analyze request for anomalies using AI
     */
    analyzeAnomaly(token: string, requestData: {
        organizationId: string;
        ipAddress: string;
        userAgent: string;
        endpoint: string;
        method: string;
        payloadSize: number;
        timestamp: Date;
        country?: string;
    }): Promise<AnomalyAnalysisResult>;
    /**
     * Scan files for malware and threats
     */
    scanFile(token: string, file: {
        filename: string;
        content: Buffer | string;
        mimeType?: string;
    }): Promise<FileAnalysisResult>;
    /**
     * Get adaptive rate limiting configuration
     */
    getAdaptiveRateLimit(token: string, organizationId: string, endpoint: string, method: string): Promise<{
        currentLimit: number;
        burstLimit: number;
        windowMs: number;
        confidence: number;
        reasons: string[];
    }>;
    /**
     * Check for DDoS attacks
     */
    checkDDoSStatus(token: string, organizationId: string): Promise<{
        isUnderAttack: boolean;
        attackType?: 'volumetric' | 'protocol' | 'application';
        intensity: number;
        mitigationActions: string[];
        recommendedLimits: {
            requestsPerSecond: number;
            connectionsPerIp: number;
            payload: number;
        };
    }>;
    /**
     * Get comprehensive security metrics
     */
    getSecurityMetrics(token: string, timeRange?: '1h' | '24h' | '7d' | '30d'): Promise<SecurityMetrics>;
    /**
     * Get threat intelligence feeds
     */
    getThreatIntelligence(token: string, ipAddress?: string): Promise<{
        isMalicious: boolean;
        sources: string[];
        threatTypes: string[];
        lastSeen?: Date;
        confidence: number;
        reputation: number;
    }>;
    /**
     * Get behavioral fingerprint analysis
     */
    getBehavioralFingerprint(token: string, requests: Array<{
        timestamp: Date;
        endpoint: string;
        method: string;
        userAgent: string;
        payloadSize: number;
        responseTime: number;
    }>): Promise<{
        fingerprint: string;
        similarity: number;
        isBot: boolean;
        confidence: number;
        patterns: string[];
    }>;
    /**
     * Update threat detection rules
     */
    updateThreatRules(token: string, rules: Array<{
        id?: string;
        name: string;
        pattern: string;
        threatType: string;
        severity: 'low' | 'medium' | 'high' | 'critical';
        enabled: boolean;
    }>): Promise<SecurityResult>;
    /**
     * Get security health status
     */
    getSecurityHealth(token: string): Promise<{
        status: 'healthy' | 'degraded' | 'unhealthy';
        components: {
            threatDetection: boolean;
            anomalyDetection: boolean;
            rateLimiting: boolean;
            fileScanning: boolean;
            threatIntelligence: boolean;
        };
        lastUpdate: Date;
        issues: string[];
    }>;
    /**
     * Generate security report
     */
    generateSecurityReport(token: string, timeRange?: '24h' | '7d' | '30d', format?: 'json' | 'pdf' | 'csv'): Promise<SecurityResult>;
    /**
     * Get module information
     */
    getInfo(): {
        name: string;
        version: string;
        features: string[];
        description: string;
    };
}
//# sourceMappingURL=EnhancedSecurity.d.ts.map