/** * Explicit non-file protocols that must remain unchanged in generated reports. * (file: is treated as an internal filesystem path and relativized when possible.) */ export declare function isExternalHref(ref: string): boolean; export declare function encodePortableHref(relPosix: string): string; /** * Compute a browser-navigable href from the HTML report file to a target artifact. * Uses filesystem-relative calculation, normalizes to `/`, then encodes segments. */ export declare function toReportRelativeHref(sourceReportPath: string, targetArtifactPath: string): string; export interface ResolveReportArtifactHrefOptions { /** * Absolute path of the HTML file being generated (preferred). * Used as the relativization origin (`path.dirname(reportHtmlPath)`). */ reportHtmlPath?: string; /** Absolute directory containing the HTML report (alternative to reportHtmlPath). */ reportDir?: string; /** Legacy prefix when no report path is available (default "."). */ assetBase?: string; } /** * Resolve a SiteLens-owned artifact reference into a portable relative href/src. * * - http(s): / mailto: — returned unchanged * - file: / absolute FS paths — relativized when report location is known; otherwise rejected * - relative paths (incl. `../`) — rebased from the report directory when known, then encoded * - javascript: / data: / blob: / protocol-relative — rejected (null) */ export declare function resolveReportArtifactHref(mediaRef: string, options?: ResolveReportArtifactHrefOptions): string | null; /** Prefer the HTML sibling of a child report.json path. */ export declare function childReportHtmlRef(reportPath: string): string; /** * Like {@link resolveReportArtifactHref}, but rejects http(s)/mailto. * Use for img/src/video (SiteLens-owned evidence), not for navigational ``. */ export declare function resolveInternalArtifactHref(mediaRef: string, options?: ResolveReportArtifactHrefOptions): string | null; //# sourceMappingURL=report-href.d.ts.map