import { Browser } from '@crawly/browser'; import { ResponseContract } from '@crawly/request-client/lib/contracts/response/ResponseContract'; export declare abstract class Crawler { /** * The request. */ protected request: T; /** * The browser to use in request. */ protected browser: Browser; /** * Crawler constructor. */ constructor(); /** * Set request to crawler. * * @param request * @returns {Crawler} */ setRequest(request: T): Crawler; /** * Get request to crawler. * * @throws Error * @returns {T} */ getRequest(): T; /** * Execute the crawler. * * @returns {Promise} */ abstract execute(): Promise; }