/** * Playwright launch wrapper for cloakbrowser. * Mirrors Python cloakbrowser/browser.py. */ import type { Browser, BrowserContext, BrowserContextOptions, LaunchOptions as PlaywrightLaunchOptions } from "playwright-core"; import type { LaunchOptions, LaunchContextOptions, LaunchPersistentContextOptions } from "./types.js"; /** @internal Accept both timezone and timezoneId — either works, no warning. Exported for testing. */ export declare function resolveTimezone(options: T): T; /** * Build Playwright BrowserContext options for CloakBrowser without launching a browser * or creating a context. * * Useful when integrating CloakBrowser with an existing Playwright Browser while * keeping the wrapper's stealth-safe defaults for `newContext()`. */ export declare function buildContextOptions(options?: LaunchContextOptions): BrowserContextOptions; /** * Build Playwright launch options for CloakBrowser without starting Chromium. * * Useful when integrating CloakBrowser with a custom Playwright build or another * wrapper that needs to call `chromium.launch()` itself. */ export declare function buildLaunchOptions(options?: LaunchOptions): Promise; /** * Apply CloakBrowser's human-like behavioral layer to an existing Playwright browser. */ export declare function humanizeBrowser(browser: Browser, options?: LaunchOptions): Promise; /** * Launch stealth Chromium browser via Playwright. * * @example * ```ts * import { launch } from 'cloakbrowser'; * const browser = await launch(); * const page = await browser.newPage(); * await page.goto('https://bot.incolumitas.com'); * console.log(await page.title()); * await browser.close(); * ``` */ export declare function launch(options?: LaunchOptions): Promise; /** * Launch stealth browser and return a BrowserContext with common options pre-set. * Closing the context also closes the browser. * * @example * ```ts * import { launchContext } from 'cloakbrowser'; * const context = await launchContext({ * userAgent: 'Mozilla/5.0...', * viewport: { width: 1920, height: 1080 }, * }); * const page = await context.newPage(); * await page.goto('https://example.com'); * await context.close(); // also closes browser * ``` */ export declare function launchContext(options?: LaunchContextOptions): Promise; /** * Launch stealth browser with a persistent user profile (non-incognito). * Uses Playwright's chromium.launchPersistentContext() under the hood. * * This avoids incognito detection by services like BrowserScan (-10% penalty) * and enables session persistence (cookies, localStorage) across launches. * * @example * ```ts * import { launchPersistentContext } from 'cloakbrowser'; * const context = await launchPersistentContext({ * userDataDir: './chrome-profile', * headless: false, * proxy: 'http://user:pass@host:port', * geoip: true, * }); * const page = context.pages()[0] || await context.newPage(); * await page.goto('https://example.com'); * await context.close(); * ``` */ export declare function launchPersistentContext(options: LaunchPersistentContextOptions): Promise; /** @internal Exposed for unit tests only. */ export { buildArgs as _buildArgsForTest } from "./args.js"; //# sourceMappingURL=playwright.d.ts.map