/**
 * Procedural Memory 매칭을 수행하는 클래스
 * workflow_name, skill_name, trigger_conditions와 쿼리/필터를 매칭하여 부스트 가중치를 결정합니다.
 *
 * 단일 책임 원칙을 준수하여 HybridSearchEngine에서 분리되었습니다.
 */
import Database from 'better-sqlite3';
import type { HybridSearchQuery } from './hybrid-search-engine.js';
import type { IProceduralMemoryMatcher } from './hybrid-search-engine.js';
/**
 * Procedural Memory 매칭을 수행하는 클래스
 *
 * Given: 데이터베이스와 메모리 ID 목록, 검색 쿼리가 제공됨
 * When: Procedural Memory 항목들을 조회하고 쿼리/필터와 매칭함
 * Then: 각 메모리 ID에 대한 매칭 결과를 반환함
 */
export declare class ProceduralMemoryMatcher implements IProceduralMemoryMatcher {
    /**
     * Given: 검색 쿼리가 제공됨
     * When: 쿼리와 필터 정보를 추출함
     * Then: 구조화된 쿼리 정보 객체를 반환함
     *
     * @param query - 검색 쿼리 (선택적)
     * @returns 쿼리 정보 객체
     */
    private extractQueryInfo;
    /**
     * Given: 데이터베이스와 메모리 ID 목록이 제공됨
     * When: SQL 쿼리를 실행하여 Procedural Memory 항목들을 조회함
     * Then: 조회된 메모리 항목 배열을 반환함
     *
     * @param db - 데이터베이스 연결
     * @param memoryIds - 조회할 메모리 ID 목록
     * @returns 조회된 메모리 항목 배열
     */
    private fetchProceduralMemoryRows;
    /**
     * Given: workflow_name과 쿼리/필터 정보가 제공됨
     * When: workflow_name과 쿼리/필터를 매칭함
     * Then: 매칭 여부를 반환함
     *
     * @param workflowName - 매칭할 workflow_name
     * @param queryText - 쿼리 텍스트
     * @param filterWorkflowName - 필터 workflow_name (선택적)
     * @returns 매칭 여부
     */
    private matchWorkflowName;
    /**
     * Given: skill_name과 쿼리/필터 정보가 제공됨
     * When: skill_name과 쿼리/필터를 매칭함
     * Then: 매칭 여부를 반환함
     *
     * @param skillName - 매칭할 skill_name
     * @param queryText - 쿼리 텍스트
     * @param filterSkillName - 필터 skill_name (선택적)
     * @returns 매칭 여부
     */
    private matchSkillName;
    /**
     * Given: trigger_conditions와 쿼리/컨텍스트 정보가 제공됨
     * When: trigger_conditions와 쿼리/컨텍스트를 매칭함
     * Then: 매칭 여부를 반환함
     *
     * @param triggerConditions - 매칭할 trigger_conditions (JSON 문자열 또는 객체)
     * @param queryText - 쿼리 텍스트
     * @param matchTriggerConditions - trigger_conditions 매칭 플래그
     * @param triggerContext - 구조화된 컨텍스트 (선택적)
     * @returns 매칭 여부
     */
    private matchTriggerConditions;
    /**
     * Given: 데이터베이스와 메모리 ID 목록, 검색 쿼리가 제공됨
     * When: Procedural Memory 항목들을 조회하고 쿼리/필터와 매칭함
     * Then: 각 메모리 ID에 대한 매칭 결과를 반환함
     *
     * @param db - 데이터베이스 연결
     * @param memoryIds - 매칭할 메모리 ID 목록
     * @param query - 검색 쿼리 (선택적)
     * @returns 각 메모리 ID에 대한 매칭 결과 맵
     */
    fetchProceduralMemoryMatches(db: Database.Database, memoryIds: string[], query?: HybridSearchQuery): Map<string, {
        workflow_name_match: boolean;
        skill_name_match: boolean;
        trigger_conditions_match: boolean;
    }>;
}
//# sourceMappingURL=procedural-memory-matcher.d.ts.map