///
import { EventEmitter } from "events";
import { Scheduler } from "./scheduler";
import { Options } from "./option";
import { Provider, ProviderFactory } from "./provider";
import { UserAgent, Proxy, Headers, Auth } from "./agent";
interface ICrawler extends EventEmitter {
start(): Promise;
stop(): Promise;
}
export declare enum Events {
Data = "data",
Error = "error"
}
export declare class Crawler extends EventEmitter implements ICrawler {
options: Options;
active: boolean;
scheduler: Scheduler;
provider: Provider;
userAgent: UserAgent;
proxy: Proxy;
headers: Headers;
auth: Auth;
private readonly http;
private readonly storage;
private readonly persistence;
constructor(ProviderClass: ProviderFactory, options?: Options);
private request;
/**
* start crawl
*/
start(): Promise;
/**
* stop crawl
*/
stop(): Promise;
}
export {};