import { IHelpers, RequestResponse } from "../types"; import { ResponseWithStatus } from "../types/base"; import { ScrapingTaskRequest, ScrapingTaskResponse } from "../types/scraping"; import { AiScraperResultResponse, AiScraperTaskResponse } from "../types/ai-scraper"; import { CrawlParams, CrawlStatusResponse, ScrapeParams, ScrapeStatusResponse } from "../types/scraping-crawl"; import { UniversalScrapingRequest } from "../types/universal"; export declare class ScrapelessError extends Error { statusCode?: number | undefined; constructor(message: string, statusCode?: number | undefined); } export declare abstract class BaseService { protected readonly apiKey: string; protected readonly baseUrl: string; protected readonly timeout: number; protected readonly handleResponse?: ((res: any) => any) | undefined; helpers: IHelpers | null; protected constructor(apiKey: string, baseUrl: string, timeout?: number, helpers?: IHelpers | null, handleResponse?: ((res: any) => any) | undefined); protected request(endpoint: string, method?: 'GET' | 'POST' | 'PUT' | 'DELETE', body?: Record, additionalHeaders?: Record, responseWithStatus?: R): Promise>; } export declare class ScrapingCrawl extends BaseService { constructor({ apiKey, baseUrl, helpers }: { apiKey: string; baseUrl: string; helpers: IHelpers; }); monitorJobStatus(id: string, pollInterval: number): Promise; crawlUrl(url: string, params?: CrawlParams, pollInterval?: number): Promise; scrapeUrl(url: string, params?: ScrapeParams, pollInterval?: number): Promise; checkScrapeStatus(id: string): Promise>; } export declare class ScrapingService extends BaseService { private basePath; constructor({ apiKey, baseUrl, helpers }: { apiKey: string; baseUrl: string; helpers: IHelpers; }); createTask(request: ScrapingTaskRequest): Promise>; getTaskResult(taskId: string): Promise>; } export declare class AiScraperService extends BaseService { private basePath; constructor({ apiKey, baseUrl, helpers }: { apiKey: string; baseUrl: string; helpers: IHelpers; }); createTask(request: ScrapingTaskRequest): Promise; getTaskResult(taskId: string): Promise; } export declare class UniversalService extends BaseService { private basePath; constructor({ apiKey, baseUrl, helpers }: { apiKey: string; baseUrl: string; helpers: IHelpers; }); scrape(request: UniversalScrapingRequest): Promise; }