import { DomManager } from './dom.js';
import { Frame } from './frame.js';
import { FrameManager } from './frame-manager.js';
import { InputManager } from './input-manager.js';
import { NetworkManager } from './network-manager.js';
import { RemoteElement } from './remote-element.js';
import { RemoteObject } from './remote-object.js';
import { ScreenshotManager } from './screenshot-manager.js';
import { Target } from './target.js';
import { CdpCookie, CdpFrameTree, CdpLayoutMetrics, RemoteExpression } from './types.js';
export declare class Page {
    target: Target;
    domManager: DomManager;
    frameManager: FrameManager;
    inputManager: InputManager;
    networkManager: NetworkManager;
    screenshotManager: ScreenshotManager;
    constructor(target: Target, frameTree: CdpFrameTree);
    get browser(): import("./browser.js").Browser;
    get logger(): import("../logger.js").Logger;
    get toolkitBinding(): string;
    send(method: string, params?: any, timeout?: number): Promise<any>;
    sendAndForget(method: string, params?: any): void;
    activate(): Promise<void>;
    close(): void;
    mainFrame(): Frame;
    allFrames(): IterableIterator<Frame>;
    url(): string;
    navigate(url: string, options?: PageNavigateOptions): Promise<void>;
    waitForReady(options?: PageNavigateOptions): Promise<void>;
    waitForLoad(options?: PageNavigateOptions): Promise<void>;
    waitForAnimationFrame(timeout?: number): Promise<void>;
    evaluate(pageFn: RemoteExpression, ...args: any[]): Promise<RemoteObject>;
    evaluateElement(pageFn: RemoteExpression, ...args: any[]): Promise<RemoteElement | null>;
    evaluateJson(pageFn: RemoteExpression, ...args: any[]): Promise<any>;
    evaluateOnNewDocument(pageFn: RemoteExpression, ...args: any[]): Promise<any>;
    document(): Promise<RemoteElement>;
    querySelectorAll(selector: string): Promise<RemoteElement[]>;
    querySelector(selector: string): Promise<RemoteElement | null>;
    getLayoutMetrics(): Promise<CdpLayoutMetrics>;
    grabHtmlSnapshot(): Promise<string>;
    captureHtmlSnapshot(): Promise<string>;
    clearBrowsingData(): Promise<void>;
    resolveFrameById(frameId: string): Promise<Frame | null>;
    getAllCookies(): Promise<CdpCookie[]>;
    setCookies(cookies: CdpCookie[]): Promise<void>;
    getFrameTree(): Promise<CdpFrameTree>;
}
export interface PageWaitOptions extends PageNavigateOptions {
    events: Array<'ready' | 'loaded' | 'networkAlmostIdle' | 'networkIdle'>;
}
export interface PageNavigateOptions {
    timeout?: number;
    rejectHttpErrors?: boolean;
    rejectNetworkErrors?: boolean;
    rejectTimeout?: boolean;
}
//# sourceMappingURL=page.d.ts.map