import type { ProjectType } from "./config.js";
import type { ActiveRoleHintsRecord } from "./state.js";
import { type McpPackId } from "./recommendations.js";
export interface RepoFactsRecord {
    artifactType: "shrey-junior/repo-facts";
    version: 1;
    updatedAt: string;
    projectName: string;
    projectType: ProjectType | string;
    profile: string;
    authoritySource: string;
    activeRole: string;
    recommendedMcpPack: McpPackId;
}
export interface CurrentFocusRecord {
    artifactType: "shrey-junior/current-focus";
    version: 1;
    updatedAt: string;
    currentFocus: string;
    focusOwnerRole: string;
    nextRecommendedSpecialist: string;
    nextSuggestedMcpPack: McpPackId;
    nextFileToRead: string;
    nextSuggestedCommand: string;
    latestCheckpoint: string | null;
    latestTaskPacket: string | null;
    latestHandoff: string | null;
    latestDispatchManifest: string | null;
    latestReconcile: string | null;
}
export interface OpenRisksRecord {
    artifactType: "shrey-junior/open-risks";
    version: 1;
    updatedAt: string;
    source: string;
    risks: string[];
}
export declare function getMemoryPaths(targetRoot: string): {
    root: string;
    repoFacts: string;
    architectureDecisions: string;
    domainGlossary: string;
    currentFocus: string;
    openRisks: string;
    knownGotchas: string;
    lastSuccessfulPatterns: string;
};
export declare function ensureMemoryLayout(targetRoot: string): Promise<ReturnType<typeof getMemoryPaths>>;
export declare function loadCurrentFocus(targetRoot: string): Promise<CurrentFocusRecord | null>;
export declare function loadOpenRisks(targetRoot: string): Promise<OpenRisksRecord | null>;
export declare function syncCurrentFocusFromActiveHints(targetRoot: string, hints: ActiveRoleHintsRecord): Promise<string>;
export declare function writeOpenRisksRecord(targetRoot: string, source: string, risks: string[]): Promise<string>;
//# sourceMappingURL=memory.d.ts.map