import { type ReactNode } from "react"; import type { RetainedArtifactLoader, RetainedScreenshotLoader, ToolRegistry } from "./registry.js"; import type { ActivityItem, AgentMessageItem } from "./types.js"; import { type OpenGeniText } from "../messages/runtime.js"; export type ActivityRailProps = { items: ActivityItem[]; /** The owning turn remains active between individual phase receipts. */ startupActive?: boolean; /** Renderer registry for tool calls. Defaults to {@link defaultToolRegistry}. */ toolRegistry?: ToolRegistry | undefined; /** Drill into a spawned worker session. */ onOpenSession?: ((sessionId: string) => void) | undefined; /** * Deep-link a memory row to its record in the host's memory pane. Opt-in: the * library draws no "View in memory" affordance without a handler (the memory * row is then non-interactive rich content). See {@link MessageTimelineProps}. */ onMemoryClick?: ((memoryId: string) => void) | undefined; loadRetainedScreenshot?: RetainedScreenshotLoader | undefined; /** Resolve permanent generated-image receipts through the authenticated host SDK. */ loadRetainedArtifact?: RetainedArtifactLoader | undefined; /** Drop the left rule + indent (used inside a folded turn summary). */ bare?: boolean | undefined; className?: string | undefined; }; export declare function ActivityRail({ items, startupActive, toolRegistry, onOpenSession, onMemoryClick, loadRetainedScreenshot, loadRetainedArtifact, bare, className, }: ActivityRailProps): import("react").JSX.Element; /** * Host message renderer for progress notes inside a rail, so notes keep the * host's links and formatting. Without one, notes render the library Markdown. */ export declare const ActivityNoteTextContext: import("react").Context<((text: string, item: AgentMessageItem) => ReactNode) | null>; export declare function renderActivity(msg: OpenGeniText, item: ActivityItem, toolRegistry: ToolRegistry, onOpenSession: ((sessionId: string) => void) | undefined, onMemoryClick: ((memoryId: string) => void) | undefined, loadRetainedScreenshot: RetainedScreenshotLoader | undefined, loadRetainedArtifact: RetainedArtifactLoader | undefined): import("react").JSX.Element;