/** * Returns true when OSC 8 hyperlinks should be emitted. * * Respects `tui.hyperlinks` setting: * - `"off"`: never * - `"auto"`: when `process.stdout.isTTY`, `NO_COLOR` is unset, and the detected terminal reports hyperlink support * - `"always"`: unconditionally (useful for viewers that support OSC 8 without advertising it) */ export declare function isHyperlinkEnabled(): boolean; /** * Wrap `displayText` in an OSC 8 hyperlink pointing at the given absolute file path. * * Returns `displayText` unchanged when hyperlinks are disabled or when * the text already contains an OSC 8 sequence (prevents double-wrapping). * * The caller is responsible for passing an absolute path. Relative paths * produce invalid `file://` URIs and are accepted silently to avoid runtime * errors in renderer hot paths. * * @param absPath - Absolute filesystem path * @param displayText - Text to render as the hyperlink anchor (may contain ANSI codes) * @param opts - Optional line/col position appended as `?line=N&col=M` query params */ export declare function fileHyperlink(absPath: string, displayText: string, opts?: { line?: number; col?: number; }): string; /** * Synchronously resolve a filesystem-backed internal URL (e.g. `local://foo.md`, * `memory://root/notes.md`) to its absolute filesystem path. Returns `undefined` * for inputs that aren't fs-backed, aren't resolvable in the current session * registry, or fail to parse. * * Used by renderers to wrap fs-backed internal URLs in OSC 8 hyperlinks even * when the resolved path isn't yet available from tool result details (e.g. * during the call/streaming phase before a result lands). * * Async-resolved schemes (`artifact://`, `agent://`, `skill://`, `rule://`, * `omp://`) are not handled here — those rely on `details.resolvedPath` set * by the read tool's router resolution. */ export declare function tryResolveInternalUrlSync(input: string): string | undefined;