import { BrowserMode, type BrowserOptions, type PageData, type IframeInfo } from './types';
export declare function getB4n1webBinary(): string | null;
export declare function getB4n1webVersion(): string | null;
export declare function checkVersionCompatibility(): string | null;
export declare class Page implements PageData {
    url: string;
    markdown: string;
    links: string[];
    screenshot?: string;
    jsOutput?: string;
    constructor(data: PageData);
    getMainContent(): string;
    findLinksByText(text: string): string[];
}
export declare class AgentBrowser {
    private mode;
    private timeout;
    private userAgent;
    private binaryPath;
    private currentUrl;
    private sessionId;
    private sessionStarted;
    private viewportWidth;
    private viewportHeight;
    private emulatedDevice;
    constructor(options?: BrowserOptions);
    private escapeArg;
    private runSessionCommand;
    private ensureSession;
    goto(url: string, waitFor?: string): Promise<Page>;
    private parseOutput;
    click(selector: string): Promise<void>;
    typeText(selector: string, text: string, clearFirst?: boolean): Promise<void>;
    waitForSelector(selector: string, timeoutMs?: number): Promise<boolean>;
    screenshot(url?: string): Promise<string>;
    frames(): Promise<IframeInfo[]>;
    iframeText(index: number): Promise<string>;
    setViewport(width: number, height: number): Promise<void>;
    emulateDevice(device: string): Promise<void>;
    getLinks(): string[];
    static getLinksFromPage(url: string, mode?: BrowserMode): Promise<string[]>;
    static findBinary(): string | null;
    close(): void;
    [Symbol.asyncDispose](): Promise<void>;
}
export declare function createBrowserAndGoto(url: string, options?: BrowserOptions): Promise<Page>;
//# sourceMappingURL=browser.d.ts.map