/** Fixed filename for the machine-managed project-learnings ledger. */
export declare const PROJECT_LEARNINGS_FILENAME = "PROJECT_LEARNINGS.md";
/**
 * Default location for the machine-managed learnings ledger.
 *
 * The ledger lives beside other machine-managed state under `.lisa/`, NOT in an
 * auto-loaded rules tree. Anything under `.claude/rules/` (and the equivalents
 * other runtimes inject) is read raw into every session — placing the ledger
 * there double-loads it and bypasses the executable contract's budget and
 * validation. `.lisa/` is cold: the ledger is consumed only through the
 * contract's bounded projection.
 */
export declare const DEFAULT_PROJECT_LEARNINGS_FILE: string;
/**
 * Directory prefixes that one or more runtimes inject raw at session start. The
 * learnings ledger must never resolve inside any of them, or the relocation's
 * whole point — keeping the raw file out of eager context — is defeated. Kept
 * conservative and explicit rather than agent-exhaustive; extend it as new
 * eager rule trees are added.
 */
export declare const AUTO_LOADED_RULES_DIR_PREFIXES: readonly [".claude/rules", ".cursor/rules", ".github/instructions", ".agents/rules"];
/**
 * Identify the eager-context surface a project-relative path falls inside, if
 * any. One matcher shared by config validation and the write-time containment
 * check, so "is this path eagerly injected?" can never be answered two
 * different ways by two layers.
 *
 * Accepts platform separators and unnormalized segments — the caller may be
 * handing over a path derived from `path.relative`, not a config literal.
 * @param relativePath - Project-relative candidate path
 * @returns The matched eager surface, or undefined when the path is cold
 */
export declare function findEagerContextSurface(relativePath: string): string | undefined;
/**
 * Build the shared operator-readable reason a learnings path was rejected.
 * @param surface - The eager surface the path landed in
 * @returns Sentence naming the surface, the full surface list, and the default
 */
export declare function eagerContextRejection(surface: string): string;
//# sourceMappingURL=learnings-location.d.ts.map