/**
 * Contradiction Detection System
 *
 * Detects potentially contradictory memories based on:
 * - Opposite statements about the same topic
 * - Different solutions to the same problem
 * - Conflicting preferences or decisions
 *
 * Phase 3 Organic Brain Feature
 */
import { Memory } from './types.js';
/**
 * Result of checking two memories for contradiction
 */
export interface ContradictionResult {
    memoryA: Memory;
    memoryB: Memory;
    score: number;
    reason: string;
    sharedTopics: string[];
}
/**
 * Check if two memories might contradict each other
 *
 * @param memoryA - First memory to compare
 * @param memoryB - Second memory to compare
 * @returns ContradictionResult if contradiction detected, null otherwise
 */
export declare function checkContradiction(memoryA: Memory, memoryB: Memory): ContradictionResult | null;
/**
 * Options for detecting contradictions
 */
export interface DetectContradictionsOptions {
    project?: string;
    category?: string;
    minScore?: number;
    limit?: number;
}
/**
 * Detect contradictions across all memories matching the filter
 *
 * @param options - Filtering and limit options
 * @returns Array of ContradictionResults sorted by score
 */
export declare function detectContradictions(options?: DetectContradictionsOptions): ContradictionResult[];
/**
 * Create 'contradicts' links between memories
 * Called during consolidation to persist detected contradictions
 *
 * @param contradictions - Array of detected contradictions
 * @returns Number of links created
 */
export declare function linkContradictions(contradictions: ContradictionResult[]): number;
/**
 * Get all contradictions for a specific memory
 *
 * @param memoryId - ID of the memory to check
 * @returns Array of ContradictionResults
 */
export declare function getContradictionsFor(memoryId: number): ContradictionResult[];
/**
 * Check if a contradiction link already exists between two memories
 *
 * @param memoryAId - First memory ID
 * @param memoryBId - Second memory ID
 * @returns True if a contradiction link exists
 */
export declare function hasContradictionLink(memoryAId: number, memoryBId: number): boolean;
