import { CrawlRequest, Job, JobId, ScrapeRequest, ScrapeResponse, ScrapeResponseError, ScrapeId, Action, JobMarkdownResponse } from "./model";
import { JobStatus, ErrorCode } from "./constants";
import { WebcrawlerApiError } from "./errors";
export { WebcrawlerApiError, JobStatus, ErrorCode };
export * from "./model";
export declare class WebcrawlerClient {
    protected apiVersion: string;
    protected apiKey: string;
    protected basePath: string;
    constructor(apiKey: string, basePath?: string, apiVersion?: string);
    scrapeAsync(request: ScrapeRequest): Promise<ScrapeId>;
    getScrape(scrapeId: string): Promise<ScrapeResponse | ScrapeResponseError>;
    scrape(request: ScrapeRequest, maxPolls?: number): Promise<ScrapeResponse | ScrapeResponseError>;
    crawl(crawlRequest: CrawlRequest, actions?: Action | Action[]): Promise<Job>;
    crawlAsync(crawlRequest: CrawlRequest, actions?: Action | Action[]): Promise<JobId>;
    getJob(jobID: string): Promise<Job>;
    getJobMarkdown(jobID: string): Promise<JobMarkdownResponse>;
    getJobMarkdownContent(jobID: string): Promise<string>;
    private sendRequest;
}
