/** Resolved path to the user's global CLAUDE.md. */
export declare function defaultClaudeMdPath(): string;
export interface PromotedLessonEntry {
    /** Engine lesson id (e.g. "les-abc12345"). */
    id: string;
    /** One-line description (trigger phrase + concise summary). */
    description: string;
    /** ISO timestamp the promotion happened. */
    promoted_at: string;
}
/**
 * Append a one-line entry for a newly promoted lesson into the
 * CLAUDE.md rules sub-block. Idempotent — if an entry for `id` already
 * exists, the line is left untouched. Returns the path written + the
 * new content of the rules block (without sentinels).
 *
 * No-op (silent) when:
 *   - CLAUDE.md doesn't exist
 *   - The rules sub-block isn't installed yet (user hasn't run
 *     `opensquid install` against this CLAUDE.md)
 *
 * Failure is intentionally non-fatal: lesson promotion is the
 * authoritative event; CLAUDE.md is downstream display. We never block
 * the promote on a CLAUDE.md write failure.
 */
export declare function appendPromotedLessonToClaudeMd(entry: PromotedLessonEntry, options?: {
    target?: string;
}): Promise<{
    target: string;
    appended: boolean;
} | null>;
/**
 * For tests + diagnostics: list the lesson ids currently appearing in
 * the rules sub-block of a given CLAUDE.md.
 */
export declare function listRulesBlockLessonIds(options?: {
    target?: string;
}): Promise<string[]>;
//# sourceMappingURL=claude-md.d.ts.map