export interface ProjectMemoryFileInfo {
    name: string;
    size: number;
    modifiedAt: string;
    preview?: string;
}
export interface ProjectMemoryResult {
    ok: boolean;
    message: string;
    file?: string;
    indexUsage?: string;
}
export interface ProjectMemoryStore {
    getRootPath(): string;
    ensureInitialized(): void;
    getIndexForPrompt(): string;
    getIndexRaw(): string;
    getIndexUsage(): {
        chars: number;
        lines: number;
        percent: number;
    };
    addToIndex(content: string): Promise<ProjectMemoryResult>;
    replaceInIndex(oldText: string, newText: string): Promise<ProjectMemoryResult>;
    removeFromIndex(oldText: string): Promise<ProjectMemoryResult>;
    createFile(name: string, content: string): Promise<ProjectMemoryResult>;
    writeFile(name: string, content: string): Promise<ProjectMemoryResult>;
    readFile(name: string): Promise<{
        ok: boolean;
        content?: string;
        message: string;
    }>;
    deleteFile(name: string): Promise<ProjectMemoryResult>;
    listFiles(): Promise<ProjectMemoryFileInfo[]>;
    searchLocal(query: string): Promise<Array<{
        file: string;
        snippet: string;
        score: number;
    }>>;
}
export interface ProjectMemoryStoreFactory {
    getRootPath(projectRoot: string): string;
    create(projectRoot: string): ProjectMemoryStore;
}
