import { type SubstrateDoc } from './schema.js'; import type { NodeConfigSubject } from './subject-fields.js'; export declare function renderPreferencesForSubject(subject: NodeConfigSubject | null): { block: string; contentDocs: SubstrateDoc[]; tree: string; }; /** The `` block embedded in the session_start bearings * message (bearings.ts pushes it as a SIBLING of ``, or drops it * when ''). The consultable catalog: every eligible `kind: knowledge` resolver * doc PLUS the node-local memory docs (any kind) — resolver docs win * first-wins dedup over a same-named node-local doc. GROUPED by rung exactly * like the preference block: content prose first (general→specific, * node-local last), then the preview/name catalog tree. Node-local docs are * floored HERE — a rung-none node-local doc's effective rung is bumped to * `name` before grouping, so it still surfaces as a bare-name tree entry * rather than collapsing into a `[+N more]` count (its body still never * renders: floored docs never reach the `content` rung). Procedural guidance * and factual references both live here as `knowledge`. Returns '' when * nothing is eligible. */ export declare function renderKnowledgeForSubject(subject: NodeConfigSubject, nodeId: string): string;