import { z } from 'zod';
import type { ObjectId } from 'mongodb';
export declare const MEMORY_FILE_TYPES: readonly ["projectbrief", "productContext", "activeContext", "systemPatterns", "techContext", "progress", "custom"];
export type MemoryFileType = typeof MEMORY_FILE_TYPES[number];
export interface MemoryDocument {
    _id?: ObjectId;
    projectId: string;
    fileName: string;
    content: string;
    contentVector?: number[];
    metadata: {
        lastUpdated: Date;
        version: number;
        type: MemoryFileType;
        fileSize: number;
        researchId?: string;
        prpGenerated?: boolean;
    };
    references: string[];
    createdAt: Date;
    updatedAt: Date;
}
export declare const ProjectConfigSchema: z.ZodObject<{
    projectId: z.ZodString;
    projectPath: z.ZodString;
    name: z.ZodString;
    createdAt: z.ZodString;
}, z.core.$strip>;
export type ProjectConfig = z.infer<typeof ProjectConfigSchema>;
export declare const MemoryFileSchema: z.ZodObject<{
    fileName: z.ZodString;
    content: z.ZodString;
    type: z.ZodEnum<{
        projectbrief: "projectbrief";
        productContext: "productContext";
        activeContext: "activeContext";
        systemPatterns: "systemPatterns";
        techContext: "techContext";
        progress: "progress";
        custom: "custom";
    }>;
}, z.core.$strip>;
export type MemoryFile = z.infer<typeof MemoryFileSchema>;
export declare const InitToolSchema: z.ZodObject<{
    projectPath: z.ZodOptional<z.ZodString>;
    projectName: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ReadToolSchema: z.ZodObject<{
    fileName: z.ZodString;
    projectPath: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const UpdateToolSchema: z.ZodObject<{
    fileName: z.ZodString;
    content: z.ZodString;
    projectPath: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const SearchToolSchema: z.ZodObject<{
    query: z.ZodString;
    projectPath: z.ZodOptional<z.ZodString>;
    limit: z.ZodDefault<z.ZodNumber>;
    searchType: z.ZodDefault<z.ZodEnum<{
        hybrid: "hybrid";
        vector: "vector";
        text: "text";
    }>>;
}, z.core.$strip>;
export declare const SyncToolSchema: z.ZodObject<{
    projectPath: z.ZodOptional<z.ZodString>;
    forceRegenerate: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
export declare const GeneratePRPSchema: z.ZodObject<{
    request: z.ZodString;
    projectPath: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
export declare const ExecutePRPSchema: z.ZodObject<{
    prp: z.ZodOptional<z.ZodString>;
    projectPath: z.ZodOptional<z.ZodString>;
    force: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
//# sourceMappingURL=memory.d.ts.map