import { IRunner, IRunnerArgs, IRunnerOptions, Runner } from './Runner'; import { IScrap, Scrap } from './Scrap'; import { IScraper, IScraperOptions, Scraper } from './Scraper'; export interface IRunnerScraperOptions extends IScraperOptions { runnerOptions?: RO; } export interface IRunnerScraper = IRunnerArgs, R extends IRunner = IRunner, SO extends IRunnerScraperOptions = IRunnerScraperOptions> extends IScraper { runner: R; scrapFromArgs: (args: RA, options?: SO) => Promise>; } export declare abstract class RunnerScraper = IRunnerArgs, R extends Runner = Runner, SO extends IRunnerScraperOptions = IRunnerScraperOptions> extends Scraper implements IRunnerScraper { abstract runner: R; scrapFromArgs(args: RA, options?: SO): Promise>; protected transformUrl?(url: string): string; protected abstract execWithArgs(args: RA, options: SO): Promise; protected exec(url: string, options: SO): Promise; }