import { ThreatFeedResult, FeedConfiguration } from '../types';
interface FeedStats {
    lastFetch: Date | null;
    nextAllowedFetch: Date;
    rateLimit: FeedConfiguration['rateLimit'];
    successCount: number;
    errorCount: number;
    requestsProcessed: number;
}
export declare class URLhausFeed {
    private readonly axiosInstance;
    private config;
    private lastFetchTime;
    private readonly MIN_FETCH_INTERVAL;
    private stats;
    private cache;
    private promiseCache;
    private readonly DEFAULT_CACHE_TTL;
    constructor();
    updateConfig(newConfig: Partial<FeedConfiguration>): void;
    fetchThreatData(): Promise<ThreatFeedResult>;
    getConfig(): FeedConfiguration;
    checkAvailability(): Promise<boolean>;
    getStats(): FeedStats;
    private getCachedData;
    private setCachedData;
    private setupInterceptors;
    private checkRateLimit;
    private performFetch;
    private parseCSV;
    private parseCSVLine;
    private parseCSVColumns;
    private convertToThreatIndicators;
    private determineSeverity;
    private extractMalwareFamily;
}
export {};
//# sourceMappingURL=URLhausFeed.d.ts.map