interface SecurityCheckerOptions {
    timeout: number;
    userAgent: string;
    followRedirects: boolean;
    maxRedirects: number;
    checkExternalResources: boolean;
    checkBlacklists: boolean;
    performContentAnalysis: boolean;
}
interface MalwarePattern {
    pattern: RegExp;
    severity: 'critical' | 'high' | 'medium' | 'low';
    type: string;
}
interface SecurityHeader {
    name: string;
    expected: RegExp;
    recommendation: string;
}
interface Issue {
    type: string;
    severity: 'critical' | 'high' | 'medium' | 'low' | 'info';
    title: string;
    recommendation: string;
    details?: string | null;
}
interface SecurityResults {
    url: string;
    domain: string;
    scanTime: string;
    summary: SecuritySummary;
    issues: Issue[];
    findings: SecurityFindings;
    redirectChain: string[];
    metadata: {
        serverInfo: string | null;
        technologies: string[];
    };
    remediation: any[];
    scanDuration?: number;
    executiveSummary?: any;
}
interface CookieIssue {
    name: string;
    attributes: string[];
    issues: string[];
}
interface TrackingIssue {
    type: 'analytics' | 'ad' | 'social';
    service: string;
    domains: string[];
}
interface Technology {
    name: string;
    version?: string;
    confidence: number;
}
interface SecuritySummary {
    status: 'secure' | 'warning' | 'suspicious' | 'compromised';
    riskScore: number;
    criticalIssues: number;
    highIssues: number;
    mediumIssues: number;
    lowIssues: number;
    infos: number;
}
interface SecurityFindings {
    malware: any[];
    vulnerabilities: any[];
    misconfigurations: any[];
    blacklists: any;
    ssl: any;
    headers: any;
    contentAnalysis: any;
    externalResources: Resource[];
    cmsInfo: any;
}
interface Resource {
    type: string;
    url: string;
}
interface SEOSpamResult {
    score: number;
    hiddenContentCount: number;
    keywordDensity: Record<string, number>;
    suspiciousKeywords: string[];
    linkDensity?: number;
}
interface SecurityHeaders {
    csp?: string;
    permissionsPolicy?: string;
    strictTransportSecurity?: string;
}
interface FetchConfig {
    retries?: number;
    backoffBase?: number;
    timeout?: number;
}
interface ScannerConfig {
    checks: {
        sri: boolean;
        csp: boolean;
        malware: boolean;
        headers: boolean;
    };
    thresholds: {
        maxResponseSize: number;
        timeout: number;
    };
}
interface SecurityIssue {
    type: 'error' | 'warning' | 'info';
    severity: 'critical' | 'high' | 'medium' | 'low';
    message: string;
    remediation: string;
    source?: string;
}
