import { InternalAxiosRequestConfig, AxiosResponse } from 'axios'; import { RobotsPluginOptions } from './domain/models/RobotsPluginOptions'; import { IRobotsDataRepository } from './domain/interfaces/IRobotsDataRepository'; import { IAllowService } from './domain/interfaces/IAllowService'; import { ICrawlDelayService } from './domain/interfaces/ICrawlDelayService'; export declare class RobotsInterceptor { private dataService; private allowService; private crawlDelayService; private userAgent; private crawlDelayCompliance; constructor(options: RobotsPluginOptions, deps?: { dataService?: IRobotsDataRepository; allowService?: IAllowService; crawlDelayService?: ICrawlDelayService; }); /** * Intercepts Axios requests to enforce the Robots Exclusion Protocol. */ intercept(config: InternalAxiosRequestConfig): Promise; /** * Intercepts Axios responses to update the last crawled timestamp. */ interceptResponse(response: AxiosResponse): AxiosResponse; /** * Intercepts Axios response errors to update the last crawled timestamp, * ensuring we track attempts even if they fail. */ interceptResponseError(error: any): any; private resolveUrl; private validateProtocol; }