import { type Rung, type SubstrateDoc } from './schema.js'; /** The reserved basename (no extension) that marks a directory's index doc. */ export declare const INDEX_NAME = "INDEX"; /** Does this path-derived name denote a directory INDEX (`taste/INDEX`, or a * top-level `INDEX`)? */ export declare function isIndexName(name: string): boolean; /** The directory an INDEX doc represents: `taste/INDEX` → `taste`, `INDEX` → ''. */ export declare function indexDirOf(name: string): string; /** Returns the display path corresponding to a canonical logical identifier. */ export declare function displayName(name: string): string; /** The two visibility surfaces an INDEX can cap. */ export type Surface = 'systemPromptVisibility' | 'fileReadVisibility'; /** Build the dir → governing-INDEX map. Precedence is first-occurrence-wins, so * callers MUST pass docs precedence-ordered (project > user > builtin) — the * highest-precedence INDEX governs a dir, mirroring the memory resolver. */ export declare function buildCeilingIndex(docs: SubstrateDoc[]): Map; /** A doc's effective rung on `surface` after applying every ancestor INDEX * ceiling: min(own rung, each ancestor INDEX's rung). A `none` ancestor INDEX * hides the whole subtree (min with none = none). */ export declare function effectiveRung(doc: SubstrateDoc, ceil: Map, surface: Surface): Rung;