import type { Page, Viewport, Awaitable, InnerParams } from 'puppeteer';
import type { TestingData } from '../lib/evaluation';
import type { QualwebOptions } from './QualwebOptions';
import { PageOptions } from './PageOptions';
import { PluginManager } from './PluginManager.object';
type EvaluateFunc<T extends unknown[]> = (...params: InnerParams<T>) => Awaitable<unknown>;
export declare class QualwebPage {
    private readonly pluginManager;
    readonly page: Page;
    private readonly url?;
    private readonly html?;
    constructor(pluginManager: PluginManager, page: Page, url?: string, html?: string);
    getInputUrl(): string | undefined;
    getFinalUrl(): string;
    getTitle(): Promise<string>;
    getNumberOfHTMLElements(): Promise<number>;
    getOuterHTML(): Promise<string>;
    getUserAgent(): Promise<string>;
    getTestingData(options: QualwebOptions): Promise<TestingData>;
    private addNecessaryScripts;
    addEvaluationScript(module: string): Promise<void>;
    evaluate<Params extends unknown[], Func extends EvaluateFunc<Params> = EvaluateFunc<Params>>(pageFunction: Func | string, ...args: Params): Promise<Awaited<ReturnType<Func>>>;
    private navigateToPage;
    getViewport(): Viewport | null;
    setViewport(options?: PageOptions): Promise<void>;
    private createViewportObject;
    private extraTabOpened;
    private getSourceHtml;
    private getValidatorResult;
    private isHtmlDocument;
}
export {};
//# sourceMappingURL=QualwebPage.object.d.ts.map