import type { Item, ProjectMemoryRecord } from "@best-agent/protocol";
export interface ProjectMemorySyncEntry {
    checksum: string;
    content: string;
    key: string;
    updatedAt: string;
}
export interface ProjectMemorySyncMergeResult {
    changed: boolean;
    memory: ProjectMemoryRecord;
}
export interface ProjectMemoryCandidateInput {
    items: Item[];
    sourceSessionId: string;
}
export interface ProjectMemoryPromptSelection {
    prompt?: string;
    referencedEntryKeys: string[];
}
export declare class LocalProjectMemoryStore {
    #private;
    constructor(options: {
        cwd: string;
        storageRoot: string;
    });
    prepareForSession(): void;
    get(): ProjectMemoryRecord;
    set(content: string): ProjectMemoryRecord;
    clear(): ProjectMemoryRecord;
    listSyncEntries(): ProjectMemorySyncEntry[];
    mergeSyncEntries(entries: readonly ProjectMemorySyncEntry[]): ProjectMemorySyncMergeResult;
    captureCandidate(input: ProjectMemoryCandidateInput): void;
    buildPromptSelection(input: {
        items: Item[];
    }): ProjectMemoryPromptSelection;
    buildSystemPrompt(): string | undefined;
    markReferenced(entryKeys: readonly string[], referencedAt?: string): void;
}
declare function detectProjectMemorySecretRule(content: string): string | undefined;
export { detectProjectMemorySecretRule };
//# sourceMappingURL=project-memory.d.ts.map