/**
 * Core type definitions for the ShieldCortex memory system
 */
export type MemoryType = 'short_term' | 'long_term' | 'episodic';
export type MemoryCategory = 'architecture' | 'pattern' | 'preference' | 'error' | 'context' | 'learning' | 'todo' | 'note' | 'relationship' | 'custom';
export interface Memory {
    id: number;
    type: MemoryType;
    category: MemoryCategory;
    title: string;
    content: string;
    project?: string;
    tags: string[];
    salience: number;
    accessCount: number;
    lastAccessed: Date;
    createdAt: Date;
    decayedScore: number;
    metadata: Record<string, unknown>;
    embedding?: Buffer;
    scope: 'project' | 'global';
    transferable: boolean;
}
export interface MemoryInput {
    type?: MemoryType;
    category?: MemoryCategory;
    title: string;
    content: string;
    project?: string;
    tags?: string[];
    salience?: number;
    metadata?: Record<string, unknown>;
    scope?: 'project' | 'global';
    transferable?: boolean;
}
export interface SearchOptions {
    query: string;
    project?: string;
    category?: MemoryCategory;
    type?: MemoryType;
    tags?: string[];
    minSalience?: number;
    limit?: number;
    includeDecayed?: boolean;
    includeGlobal?: boolean;
}
export interface SearchResult {
    memory: Memory;
    relevanceScore: number;
    contradictions?: {
        memoryId: number;
        title: string;
        score: number;
    }[];
}
export interface ConsolidationResult {
    consolidated: number;
    decayed: number;
    deleted: number;
    contradictionsFound?: number;
    contradictionsLinked?: number;
    salienceEvolved?: number;
}
export interface ContextSummary {
    project?: string;
    recentMemories: Memory[];
    keyDecisions: Memory[];
    activePatterns: Memory[];
    pendingItems: Memory[];
}
export interface SalienceFactors {
    explicitRequest: boolean;
    isArchitectureDecision: boolean;
    isErrorResolution: boolean;
    isCodePattern: boolean;
    isUserPreference: boolean;
    mentionCount: number;
    hasCodeReference: boolean;
    emotionalMarkers: boolean;
}
export interface MemoryConfig {
    dbPath: string;
    decayRate: number;
    reinforcementFactor: number;
    salienceThreshold: number;
    consolidationThreshold: number;
    maxShortTermMemories: number;
    maxLongTermMemories: number;
    autoConsolidateHours: number;
}
export declare const DEFAULT_CONFIG: MemoryConfig;
/**
 * Category-specific deletion thresholds
 * Lower threshold = harder to delete (more valuable)
 */
export declare const DELETION_THRESHOLDS: Record<MemoryCategory, number>;
//# sourceMappingURL=types.d.ts.map