import { PuppeteerRequest, PuppeteerManager } from 'request-group-puppeteer';
import { ManipulationCore } from '../web_scraping_engine';
import * as puppeteer from 'puppeteer';
/**
 * The configuration we expect to be utilizing
 */
export interface PuppeteerManipulatingCoreConfiguration {
    sharedRequest: PuppeteerRequest | null;
}
/**
 * Default configuration options for this manipulation core
 */
export declare const PUPPETEER_MANIPULATING_CORE_DEFAULT: PuppeteerManipulatingCoreConfiguration;
export declare class PuppeteerManipulatingCore extends ManipulationCore<puppeteer.Page, PuppeteerManipulatingCoreConfiguration> {
    private request;
    private manager;
    private initialized;
    private sharingManager;
    constructor(url: string, sharedManager?: PuppeteerManager);
    private isInitialized;
    getRequest(): PuppeteerRequest;
    initialize(data: PuppeteerManipulatingCoreConfiguration): Promise<void>;
    select(querySelector: string, value: string): Promise<void>;
    click(querySelector: string): Promise<void>;
    type(querySelector: string, value: string): Promise<void>;
    raw(): puppeteer.Page;
    dispose(): Promise<void>;
    getDocumentHtml(): Promise<string>;
}
export default PuppeteerManipulatingCore;
