import type { SessionManager } from "../session/session-manager.js"; import type { ShapedTool, ShapeSink } from "./types.js"; /** * Text of a session artifact, by id or as its `artifact://N` URL (a tool's full output, a shaped result's original), * or null when it is gone or unreadable. */ export declare function readArtifactText(sessionManager: Pick & { getArtifactContent(id: string): string | null | Promise; }, ref: string): Promise; /** * Saves the text a shaped result hides as a session artifact, read back with `read artifact://N` (and line * selectors, `artifact://N:A-B`). Non-persistent sessions keep it in memory, as the generic artifact spill does. */ export declare class ArtifactShapeSink implements ShapeSink { #private; constructor(sessionManager: Pick); /** @throws {Error} when the session no longer stores artifacts (released); shaping then keeps the result whole. */ save(text: string, label: ShapedTool): Promise; }