export declare function toXSafariUrl(url: string): string | null; export declare function isInAppBrowser(userAgent?: string): boolean; export declare function getEscapeUrl(currentUrl?: string, userAgent?: string): string | null; /** * Returns true when automatic (JS-initiated) escape redirects are dropped or * hang the host WebView, so a real user tap is required instead. * * Meta iOS: Facebook 555+ hangs on x-safari-* location.href (#2); IG/Threads * native schemes need a tap. Twitter/X iOS: every navigation stays in-app. */ export declare function needsUserGesture(userAgent?: string): boolean; /** * Twitter/X iOS: do not navigate. `x-safari-*`, custom hosts, `_blank`, * HTTP 302s to `x-safari-*`, and Shortcuts `x-error` (dead on iOS 18.1+) * all reload or no-op inside X. Use copy + the host app chrome * (••• → Open in browser) or X Settings → Display → Use in-app browser. */ export declare function needsManualEscape(userAgent?: string): boolean; export interface EiabUserAgentData { brands: { brand: string; version: string; }[]; mobile: boolean | null; platform: string | null; } export interface EiabConnectionInfo { effectiveType: string | null; type: string | null; downlink: number | null; rtt: number | null; saveData: boolean | null; } export interface EiabDebugInfo { href: string; userAgent: string; referrer: string; title: string; isInAppBrowser: boolean; needsUserGesture: boolean; needsManualEscape: boolean; escapeUrl: string | null; webkitMessageHandlers: string[]; isIOS: boolean; isAndroid: boolean; language: string; languages: string[]; platform: string; vendor: string; cookieEnabled: boolean; maxTouchPoints: number; standalone: boolean; visibilityState: string; innerWidth: number; innerHeight: number; screenWidth: number; screenHeight: number; devicePixelRatio: number; telegramWebview: boolean; telegramWebApp: boolean; hasShare: boolean; hasClipboard: boolean; hasSafari: boolean; hasWebkit: boolean; historyLength: number; timeOrigin: number; collectedAt: string; userAgentData: EiabUserAgentData | null; connection: EiabConnectionInfo | null; } /** * Snapshot of the live browser environment plus eiab's detection result. * Intended for support / field debugging (copy-paste from a demo or overlay). * Requires `window` + `navigator`. */ export declare function getDebugInfo(): EiabDebugInfo; export declare function attemptEscape(currentUrl?: string, userAgent?: string): void; //# sourceMappingURL=index.d.ts.map