import { Task, TaskOptionsInput } from '../task'; import { SpiderStore } from './store'; import { SpiderNavigator } from './navigator'; import { SpiderData } from './data'; export declare type FinalParameters = { readonly [P in keyof T]-?: T[P]; }; export interface SpiderRequestHeaders { [key: string]: string; } export interface SpiderRequestConfigInput { headers?: SpiderRequestHeaders; method?: string; responseEncoding?: string; } export declare type SpiderRequestConfig = FinalParameters; export interface SpiderBehaviorConfigInput { delay?: number; retryDelay?: number; maxRetries?: number; requestTimeout?: number; skippableHttpStatus?: number[]; recoverableHttpStatus?: number[]; } export declare type SpiderBehaviorConfig = FinalParameters; export interface SpiderSiteConfigInput { name: string; data: SpiderData; navigator: SpiderNavigator; store: SpiderStore; request?: SpiderRequestConfigInput; behavior?: SpiderBehaviorConfigInput; } export interface SpiderSiteConfig extends SpiderSiteConfigInput { request: SpiderRequestConfig; behavior: SpiderBehaviorConfig; } export declare class SpiderTask extends Task { protected siteConfig: SpiderSiteConfig; protected navigator: SpiderNavigator; protected store: SpiderStore; protected data: SpiderData; constructor(opts: TaskOptionsInput, siteConfig: SpiderSiteConfigInput); protected validateSiteConfig(siteConfig: SpiderSiteConfigInput): SpiderSiteConfig; run(): Promise; toPath(filename: string): string; getSiteConfig(): SpiderSiteConfig; getData(): SpiderData; } //# sourceMappingURL=spider.d.ts.map