/**
 * Recall Tool - 기억 검색 도구
 * 하이브리드 검색을 통한 고성능 기억 검색
 */
import { BaseTool } from '../../../tools/base-tool.js';
import type { ToolContext, ToolResult } from '../../../tools/types.js';
import type { RecallParams } from './recall-tool-schema.js';
export type { AnchorSetMetadata, NeighborMemoryItem, RecallResultItem, RecallResponseMetadata, RecallResponse } from './recall-tool-types.js';
export type { RecallParams };
export declare class RecallTool extends BaseTool {
    constructor();
    private recallCoreMemoryDirect;
    private recallVaultMemoryDirect;
    private executeHybridOrTextSearchForMemoryItem;
    private runMemoryItemPostSearchPipeline;
    private finalizeMemoryItemRecallEnvelope;
    handle(params: RecallParams, context: ToolContext): Promise<ToolResult>;
    /**
     * version_filter에 따라 검색 결과를 필터링합니다.
     * latest_only: version_series_id별 최신(version 최대) 1건만 유지.
     * specific_version: version_series_id + version_number 일치 항목만 유지.
     */
    private applyVersionFilter;
    /**
     * procedural 항목에 version_chain 및 diff_with_previous/diff_with를 채웁니다.
     */
    private enrichProceduralVersionInfo;
    /**
     * 자동 앵커 설정 처리
     * 가장 관련성 높은 기억(첫 번째 결과)을 슬롯 A에 앵커로 설정
     *
     * @param searchItems - 검색 결과 항목 배열
     * @param agentId - 에이전트 ID
     * @param context - 도구 컨텍스트
     * @returns 앵커 설정 결과 (성공/실패/건너뜀 상태 포함)
     */
    private handleAutoSetAnchor;
    /**
     * 자동 이웃 기억 포함 처리
     * 검색 결과의 상위 항목에 대해 이웃 기억을 자동으로 포함
     *
     * @param searchItems - 검색 결과 항목 배열
     * @param neighborsLimit - 이웃 기억을 포함할 상위 결과의 개수
     * @param neighborsPerItem - 각 검색 결과 항목당 조회할 이웃 기억의 최대 개수
     * @param neighborsSimilarityThreshold - 이웃 기억 조회 시 유사도 임계값
     * @param context - 도구 컨텍스트
     * @returns 각 검색 결과 항목에 대한 이웃 기억 배열 (순서 보존)
     */
    private handleIncludeNeighbors;
    /**
     * Meta Memory Statistics 수집
     *
     * 검색 결과를 기반으로 각 메모리 항목의 통계를 수집합니다.
     *
     * @param searchItems 검색 결과 항목 배열
     * @param metaMemoryService MetaMemoryService 인스턴스
     */
    private collectMetaMemoryStats;
    /**
     * Meta Memory Statistics 조회
     *
     * 검색 결과에 포함된 메모리 항목의 통계를 조회합니다.
     * include_metadata=true일 때만 호출됩니다.
     *
     * @param processedResults 처리된 검색 결과 항목 배열
     * @param metaMemoryService MetaMemoryService 인스턴스
     * @returns meta_stats 객체 (memory_id를 키로 하는 객체) 또는 undefined
     */
    private getMetaStatsForResults;
    /**
     * Consolidation Score 메타데이터 업데이트
     * 검색 결과로 반환된 메모리들의 recall_count, last_accessed_at, g_value 업데이트
     * Write Coalescing을 사용하여 I/O 부하를 줄입니다.
     *
     * @param db 데이터베이스 연결
     * @param consolidationScoreService Consolidation Score 서비스
     * @param writeCoalescingManager Write Coalescing Manager (선택적)
     * @param searchItems 검색 결과 아이템 배열
     */
    private updateConsolidationScoreMetadata;
}
//# sourceMappingURL=recall-tool.d.ts.map