import { BrowserProcess } from './process.js'; /** * Humanization options for simulating realistic user behavior * All options are disabled by default for performance */ export interface HumanizationOptions { /** Enable mouse movement humanization. Default: false */ mouse?: boolean; /** Enable keyboard humanization. Default: false */ keyboard?: boolean; /** Enable scroll humanization. Default: false */ scroll?: boolean; } export interface LaunchBrowserOptions { anonymizedProxyUrl?: string; debuggingPort?: number; windowWidth?: number; windowHeight?: number; ignoreHttpsErrors?: boolean; headless?: boolean; executablePath?: string; useExperimentalFingerprints?: boolean; /** Whether to start the browser maximized and fullscreen. Default: true */ maximizeWindow?: boolean; /** Enable all stealth arguments for anti-bot evasion. Default: true */ enableStealthMode?: boolean; /** Populate profile with realistic user data. Default: true */ populateProfile?: boolean; /** * Reuse a specific Chrome user data directory across runs. * When provided, this directory is preserved by default. */ userDataDir?: string; /** * Force keeping or cleaning the profile directory on close. * Defaults to true for temporary profiles and false for custom userDataDir. */ keepUserDataDir?: boolean; /** * DNS-over-HTTPS endpoint template, for example: * https://cloudflare-dns.com/dns-query */ dnsOverHttpsServer?: string; /** Chromium secure DNS mode. Default: 'secure' when dnsOverHttpsServer is set. */ secureDnsMode?: 'off' | 'automatic' | 'secure'; /** * WebRTC IP handling policy. Recommended stealth value: * disable_non_proxied_udp */ webrtcIpHandlingPolicy?: 'default' | 'default_public_interface_only' | 'default_public_and_private_interfaces' | 'disable_non_proxied_udp'; fingerprintOptions?: { enableAdvancedStealth?: boolean; bypassRuntimeEnable?: boolean; spoofWebGL?: boolean; spoofAudioContext?: boolean; spoofClientRects?: boolean; maskAutomationFlags?: boolean; spoofFonts?: boolean; spoofPerformance?: boolean; spoofLocale?: boolean; useExperimentalFingerprints?: boolean; useFingerprintDefaults?: boolean; platform?: 'Win32' | 'MacIntel' | 'Linux x86_64'; bypassCDPDetection?: boolean; spoofStorage?: boolean; spoofTiming?: boolean; enableDataDomeBypass?: boolean; /** WebRTC policy inside page scripts. Default: 'spoof'. */ webRtcPolicy?: 'spoof' | 'disable'; /** Humanization options (all disabled by default) */ humanization?: HumanizationOptions; }; } export declare const launchBrowserWithNewProfile: (executablePath: string, options?: LaunchBrowserOptions) => Promise; export declare const createTempUserDataDir: () => Promise; export declare const launchChromeBrowserWithNewProfile: (options?: LaunchBrowserOptions) => Promise; //# sourceMappingURL=browser.d.ts.map