import { Browser } from "./curl"; export { Curl } from "./curl"; export interface DvRequestOpts { headers?: Record; timeout?: Record; method?: Record; body?: Record; params?: Record; } export interface DefaultOpts { headers?: Record; } export declare class ScraperRequestError extends Error { status: number; headers: Record; data: any; constructor({ status, headers, data }: { status: any; headers: any; data: any; }); } export declare class ScraperError extends Error { } export interface IScraper { proxy?: string; get(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; post(url: string, data: Record, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; setDefaultOpts(opts: DvRequestOpts): void; } export interface IScraperAdapter { proxy?: string; userAgent?: string; fetch(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; get(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; getCurl(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; post(url: string, data: Record, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; } export declare class Scraper implements IScraper { private adapter; private defaultOpts?; proxy?: string; constructor(adapter: IScraperAdapter, defaultOpts?: DefaultOpts); get(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; getCurl(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; fetch(url: string, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; post(url: string, data: Record, opts?: DvRequestOpts): Promise<{ data: T; headers: Record; status: number; }>; useProxy(proxy: string): void; setDefaultOpts(opts: DvRequestOpts): void; setCurlBrowser(browser: Browser): void; getBrowser(): Browser; }