/**
 * 관계 그래프 시각화 유틸리티
 * 텍스트 기반으로 관계 그래프를 시각화합니다.
 */
import type { MemoryRelation } from '../types/relation-graph.js';
import type { RelationType } from '../types/relation.js';
/**
 * 관계 그래프 시각화 옵션
 */
export interface VisualizationOptions {
    /**
     * 최대 깊이 (기본값: 2)
     */
    maxDepth?: number;
    /**
     * 최소 신뢰도 (기본값: 0.0)
     */
    minConfidence?: number;
    /**
     * 관계 유형 필터
     */
    relationTypes?: RelationType[];
    /**
     * 메모리 ID 표시 여부 (기본값: true)
     */
    showMemoryIds?: boolean;
    /**
     * 신뢰도 표시 여부 (기본값: true)
     */
    showConfidence?: boolean;
    /**
     * 관계 유형 표시 여부 (기본값: true)
     */
    showRelationTypes?: boolean;
    /**
     * 들여쓰기 문자 (기본값: '  ')
     */
    indent?: string;
    /**
     * 화살표 문자 (기본값: '-->')
     */
    arrow?: string;
}
/**
 * 관계 그래프 시각화 유틸리티 클래스
 */
export declare class RelationVisualizer {
    /**
     * 관계 목록을 텍스트로 시각화
     *
     * @param relations 관계 목록
     * @param options 시각화 옵션
     * @returns 시각화된 텍스트
     */
    static visualizeAsText(relations: MemoryRelation[], options?: VisualizationOptions): string;
    /**
     * 서브그래프를 시각화 (특정 메모리를 중심으로)
     *
     * @param centerMemoryId 중심 메모리 ID
     * @param relations 관계 목록
     * @param options 시각화 옵션
     * @returns 시각화된 텍스트
     */
    static visualizeSubgraph(centerMemoryId: string, relations: MemoryRelation[], options?: VisualizationOptions): string;
    /**
     * 관계 목록을 간단한 텍스트 형식으로 시각화
     *
     * @param relations 관계 목록
     * @returns 시각화된 텍스트
     */
    static visualizeSimple(relations: MemoryRelation[]): string;
    /**
     * 관계 목록을 JSON 형식으로 시각화
     *
     * @param relations 관계 목록
     * @param pretty JSON 포맷팅 여부 (기본값: true)
     * @returns JSON 문자열
     */
    static visualizeAsJSON(relations: MemoryRelation[], pretty?: boolean): string;
    /**
     * 관계 목록을 Graphviz DOT 형식으로 시각화
     *
     * @param relations 관계 목록
     * @param options 시각화 옵션 (`showMemoryIds`, `showConfidence`, `showRelationTypes` 등)
     * @returns DOT 문자열 (`digraph G { ... }`)
     */
    static visualizeAsDot(relations: MemoryRelation[], options?: VisualizationOptions): string;
}
//# sourceMappingURL=relation-visualizer.d.ts.map