/**
 * Triple 파서 클래스
 * LLM 응답을 파싱하여 Triple 배열을 추출합니다.
 *
 * Given: LLM 응답 텍스트가 제공됨
 * When: 응답을 파싱하여 Triple 배열을 추출함
 * Then: 파싱된 Triple 배열과 파싱 결과를 반환함
 */
import type { ITripleParser } from './interfaces.js';
import type { Triple } from '../../../../shared/types/triple-extraction.js';
/**
 * Triple 파서 클래스
 * LLM 응답을 파싱하여 Triple 배열을 추출합니다.
 */
export declare class TripleParser implements ITripleParser {
    /**
     * Given: LLM 응답 텍스트가 제공됨
     * When: 응답을 파싱하여 Triple 배열을 추출함
     * Then: 파싱된 Triple 배열과 파싱 결과를 반환함
     *
     * @param responseText - LLM 원본 응답 텍스트
     * @returns 파싱 결과 (success, triples, error)
     */
    parse(responseText: string): {
        success: boolean;
        triples: Triple[];
        error?: string;
        errorType?: 'parse' | 'structure' | 'no_triple';
    };
    /**
     * Given: 텍스트가 제공됨
     * When: JSON 부분을 추출함
     * Then: 추출된 JSON 문자열을 반환함
     *
     * @param text - JSON이 포함된 텍스트
     * @returns 추출된 JSON 문자열 또는 null
     */
    extractJSON(text: string): string | null;
    /**
     * Given: Triple 객체가 제공됨
     * When: Triple의 유효성을 검증함
     * Then: 유효성 검증 결과를 반환함
     *
     * @param triple - 검증할 Triple 객체
     * @returns 유효성 검증 결과
     */
    isValidTriple(triple: any): boolean;
}
//# sourceMappingURL=triple-parser.d.ts.map