import { Project } from 'ts-morph';
import { RuntimeTraceOptions, RuntimeTraceResult } from '../types';
/**
 * 動的トレース分析を担当するクラス
 */
export declare class RuntimeTraceAnalyzer {
    private project;
    private callGraphAnalyzer;
    private nodeUtils;
    private options;
    /**
     * コンストラクタ
     * @param project ts-morphプロジェクトインスタンス
     * @param options 動的トレースオプション
     */
    constructor(project: Project, options: RuntimeTraceOptions);
    /**
     * 動的トレースを実行
     * @param fromSymbol 開始シンボル
     * @param toSymbol 終了シンボル
     * @returns 動的トレース結果
     */
    traceRuntime(fromSymbol: string, toSymbol: string): Promise<RuntimeTraceResult>;
    /**
     * 環境設定ファイルを読み込む
     * @returns 環境設定
     */
    private loadEnvironmentConfig;
    /**
     * テスト環境をセットアップ
     * @param config 環境設定
     */
    private setupTestEnvironment;
    /**
     * DIコンテナをセットアップ
     * @param config DIコンテナ設定
     */
    private setupDIContainer;
    /**
     * データベースをセットアップ
     * @param config データベース設定
     */
    private setupDatabase;
    /**
     * モックをセットアップ
     * @param mocks モック設定
     */
    private setupMocks;
    /**
     * テストデータを読み込む
     * @param fixtures フィクスチャ設定
     */
    private loadFixtures;
    /**
     * 動的トレースを実行
     * @param fromSymbol 開始シンボル
     * @param toSymbol 終了シンボル
     * @returns トレース結果
     */
    private executeTrace;
    /**
     * 実行時情報を収集
     * @param fromSymbol 開始シンボル
     * @param toSymbol 終了シンボル
     * @returns 実行時情報
     */
    private collectRuntimeInfo;
    /**
     * テスト環境をクリーンアップ
     */
    private cleanupTestEnvironment;
}
//# sourceMappingURL=RuntimeTraceAnalyzer.d.ts.map