/**
 * 검색 결과를 결합하는 클래스
 * 텍스트 검색 결과와 벡터 검색 결과를 결합하여 하이브리드 검색 결과를 생성합니다.
 *
 * 단일 책임 원칙을 준수하여 HybridSearchEngine에서 분리되었습니다.
 */
import type { ISearchResultCombiner, HybridSearchResult } from './hybrid-search-engine.js';
import type { VectorSearchResult } from '../../memory/services/memory-embedding-service.js';
/**
 * 검색 결과를 결합하는 클래스
 *
 * Given: 텍스트 검색 결과와 벡터 검색 결과, 가중치가 제공됨
 * When: 두 결과를 결합하여 하이브리드 검색 결과를 생성함
 * Then: 통합된 검색 결과 배열을 반환함
 */
export declare class SearchResultCombiner implements ISearchResultCombiner {
    /**
     * Given: 텍스트 검색 결과와 벡터 검색 결과, 가중치가 제공됨
     * When: 두 결과를 결합하여 하이브리드 검색 결과를 생성함
     * Then: 통합된 검색 결과 배열을 반환함
     *
     * @param textResults - 텍스트 검색 결과 배열
     * @param vectorResults - 벡터 검색 결과 배열
     * @param textWeight - 텍스트 검색 가중치
     * @param vectorWeight - 벡터 검색 가중치
     * @returns 통합된 하이브리드 검색 결과 배열
     */
    combine(textResults: any[], vectorResults: VectorSearchResult[], textWeight: number, vectorWeight: number): HybridSearchResult[];
    /**
     * Given: 텍스트 점수와 벡터 점수가 제공됨
     * When: 하이브리드 검색 이유를 생성함
     * Then: 검색 이유 문자열을 반환함
     *
     * @param textScore - 텍스트 검색 점수
     * @param vectorScore - 벡터 검색 점수
     * @returns 검색 이유 문자열
     */
    private generateHybridReason;
}
//# sourceMappingURL=search-result-combiner.d.ts.map