export interface BlogPost {
    title: string;
    content: string;
    url: string;
    publishedDate?: string;
    author?: string;
    excerpt?: string;
}
export interface ScrapingOptions {
    sampleSize?: number;
    maxRequestsPerSecond?: number;
    timeout?: number;
    userAgent?: string;
}
export declare class WebScrapingService {
    private readonly logger;
    private readonly httpClient;
    private readonly defaultOptions;
    private lastRequestTime;
    constructor(options?: ScrapingOptions);
    fetchSingleBlogPost(url: string): Promise<BlogPost | null>;
    sampleBlogPosts(domain: string, options?: ScrapingOptions): Promise<BlogPost[]>;
    private discoverBlogPosts;
    private extractPostUrls;
    private extractUrlsFromXml;
    private fetchBlogPost;
    private extractTitle;
    private extractContent;
    private extractPublishedDate;
    private extractAuthor;
    private extractExcerpt;
    private resolveUrl;
    private isValidPostUrl;
    private respectRateLimit;
}
//# sourceMappingURL=WebScrapingService.d.ts.map