import type { AiAppFact } from "@superblocksteam/library-shared/types";
import { type AppSkillFact } from "./parser.js";
/**
 * Manages reading and writing app skill fact files on disk.
 *
 * Facts are stored as markdown files with YAML frontmatter in
 * `<appRootDirPath>/skills/app/*.md`.
 */
export declare class AppSkillsManager {
    private readonly appRootDirPath;
    constructor(appRootDirPath: string);
    private get skillsDir();
    private toVirtualPath;
    private fromVirtualPath;
    /**
     * Load all facts from disk. Returns an empty array if the directory doesn't exist.
     */
    loadFacts(): Promise<AppSkillFact[]>;
    /**
     * Convert loaded AppSkillFact array to AiAppFact array for the UI.
     */
    static toAiAppFacts(facts: AppSkillFact[]): AiAppFact[];
    /**
     * Find a fact by display name (case-insensitive).
     */
    findFactByName(name: string): Promise<AppSkillFact | undefined>;
    /**
     * Save a new fact to disk. If a fact with the same name already exists, it will be overwritten.
     */
    saveFact(fact: {
        name: string;
        description: string;
        content: string;
        isEnabled?: boolean;
    }): Promise<AiAppFact>;
    /**
     * Update an existing fact by its virtual path.
     */
    updateFact(virtualPath: string, updates: {
        name: string;
        description: string;
        content: string;
    }): Promise<AiAppFact>;
    /**
     * Delete a fact file by its virtual path.
     */
    deleteFact(virtualPath: string): Promise<void>;
    /**
     * Toggle the isEnabled field of a fact by its virtual path.
     * Returns the updated AiAppFact.
     */
    toggleFact(virtualPath: string, isEnabled: boolean): Promise<AiAppFact>;
    /**
     * Load facts and format them for injection into the system prompt.
     * Only includes facts where isEnabled=true AND accessType="always".
     * Facts with accessType="on_demand" are available but not auto-injected.
     */
    loadFactsForPrompt(): Promise<string>;
}
//# sourceMappingURL=manager.d.ts.map