import { BatchScrapeJobResponse, BatchScrapeJobStatusResponse, GetBatchScrapeJobParams, ScrapeJobResponse, ScrapeJobStatusResponse, StartBatchScrapeJobParams, StartBatchScrapeJobResponse, StartScrapeJobParams, StartScrapeJobResponse } from "../types/scrape";
import { BaseService } from "./base";
export declare class BatchScrapeService extends BaseService {
    /**
     * Start a new batch scrape job
     * @param params The parameters for the batch scrape job
     */
    start(params: StartBatchScrapeJobParams): Promise<StartBatchScrapeJobResponse>;
    /**
     * Get the status of a batch scrape job
     * @param id The ID of the batch scrape job to get
     */
    getStatus(id: string): Promise<BatchScrapeJobStatusResponse>;
    /**
     * Get the details of a batch scrape job
     * @param id The ID of the batch scrape job to get
     * @param params Optional parameters to filter the batch scrape job
     */
    get(id: string, params?: GetBatchScrapeJobParams): Promise<BatchScrapeJobResponse>;
    /**
     * Start a batch scrape job and wait for it to complete
     * @param params The parameters for the batch scrape job
     * @param returnAllPages Whether to return all pages in the batch scrape job response
     */
    startAndWait(params: StartBatchScrapeJobParams, returnAllPages?: boolean): Promise<BatchScrapeJobResponse>;
}
export declare class ScrapeService extends BaseService {
    readonly batch: BatchScrapeService;
    constructor(apiKey: string, baseUrl: string, timeout: number);
    /**
     * Start a new scrape job
     * @param params The parameters for the scrape job
     */
    start(params: StartScrapeJobParams): Promise<StartScrapeJobResponse>;
    /**
     * Get the status of a scrape job
     * @param id The ID of the scrape job to get
     */
    getStatus(id: string): Promise<ScrapeJobStatusResponse>;
    /**
     * Get the details of a scrape job
     * @param id The ID of the scrape job to get
     */
    get(id: string): Promise<ScrapeJobResponse>;
    /**
     * Start a scrape job and wait for it to complete
     * @param params The parameters for the scrape job
     */
    startAndWait(params: StartScrapeJobParams): Promise<ScrapeJobResponse>;
}
