/**
 * 규칙 기반 관계 추출기
 * 키워드 패턴 매칭을 통해 기억 간의 관계를 추출합니다.
 */
import type { MemoryItem } from '../../../shared/types/index.js';
import type { ExtractOptions, IRelationExtractor, RelationCandidate } from '../../../shared/types/relation.js';
/**
 * 규칙 기반 관계 추출기
 */
export declare class RuleBasedRelationExtractor implements IRelationExtractor {
    /**
     * 한글 키워드 매칭
     * 한글의 경우 단어 경계가 제대로 작동하지 않으므로 직접 포함 여부 확인
     *
     * @param text 검색할 텍스트 (소문자로 정규화됨)
     * @param keyword 키워드 (소문자로 정규화됨)
     * @returns 매칭 여부
     */
    private matchKoreanKeyword;
    /**
     * 영문 키워드 매칭
     * 단어 경계를 고려하여 정확한 매칭 수행
     *
     * @param text 검색할 텍스트 (소문자로 정규화됨)
     * @param keyword 키워드 (소문자로 정규화됨)
     * @returns 매칭 여부
     */
    private matchEnglishKeyword;
    /**
     * 키워드가 한글인지 확인
     *
     * @param keyword 키워드
     * @returns 한글 여부
     */
    private isKoreanKeyword;
    /**
     * 텍스트에서 키워드 패턴을 찾고 매칭 강도를 계산합니다.
     *
     * @param text 검색할 텍스트
     * @param patterns 키워드 패턴 배열
     * @returns 매칭된 패턴과 강도 (0.0~1.0)
     */
    private findPatternMatch;
    /**
     * 정규식 특수 문자 이스케이프
     */
    private escapeRegex;
    /**
     * 패턴 매칭 강도를 신뢰도로 변환합니다.
     * 패턴 매칭 강도(0.0~1.0)를 신뢰도(0.5~0.8) 범위로 변환합니다.
     *
     * @param strength 패턴 매칭 강도 (0.0~1.0)
     * @returns 신뢰도 (0.5~0.8)
     */
    private calculateConfidence;
    /**
     * 새로운 기억과 기존 기억들 간의 관계를 추출합니다.
     *
     * @param newMemory 새로운 기억
     * @param existingMemories 기존 기억 목록
     * @param options 추출 옵션
     * @returns 관계 후보 목록
     */
    extractRelations(newMemory: MemoryItem, existingMemories: MemoryItem[], options?: ExtractOptions): Promise<RelationCandidate[]>;
}
//# sourceMappingURL=rule-based-relation-extractor.d.ts.map