/**
 * Relationship Reducer Engine
 *
 * Deterministic snapshot computation from relationship observations with merge strategies.
 * Mirrors the entity observation reducer but works with relationships.
 */
export interface RelationshipObservation {
    id: string;
    relationship_key: string;
    relationship_type: string;
    source_entity_id: string;
    target_entity_id: string;
    source_id: string;
    interpretation_id: string | null;
    observed_at: string;
    specificity_score: number | null;
    source_priority: number;
    metadata: Record<string, unknown>;
    canonical_hash: string;
    created_at: string;
    user_id: string;
}
export interface RelationshipSnapshot {
    relationship_key: string;
    relationship_type: string;
    source_entity_id: string;
    target_entity_id: string;
    schema_version: string;
    snapshot: Record<string, unknown>;
    computed_at: string;
    observation_count: number;
    last_observation_at: string;
    provenance: Record<string, string>;
    user_id: string;
}
export declare class RelationshipReducer {
    /**
     * Compute snapshot from relationship observations
     */
    computeSnapshot(relationshipKey: string, observations: RelationshipObservation[]): Promise<RelationshipSnapshot>;
    /**
     * Sort observations deterministically
     */
    private sortObservations;
    /**
     * Apply merge strategy to field
     */
    private applyMergeStrategy;
    /**
     * Last Write Wins strategy
     */
    private lastWriteWins;
    /**
     * Highest Priority strategy
     */
    private highestPriority;
    /**
     * Most Specific strategy
     */
    private mostSpecific;
    /**
     * Merge Array strategy
     */
    private mergeArray;
    /**
     * Generate relationship key from components
     */
    static generateRelationshipKey(relationshipType: string, sourceEntityId: string, targetEntityId: string): string;
}
export declare const relationshipReducer: RelationshipReducer;
//# sourceMappingURL=relationship_reducer.d.ts.map