/// <reference types="node" />
import { EventEmitter } from "events";
import { IDependencyAnalyzer, IDependencyAnalyzerDeps, IDependencyAnalyzerOptions, IAnalyzeOptions, IDependencyAnalysisResult } from "./interfaces/IDependencyAnalyzer";
import { IDependencyMap } from "@/types";
export declare class DependencyAnalyzer extends EventEmitter implements IDependencyAnalyzer {
    private readonly deps;
    isInitialized: boolean;
    private readonly debug;
    private readonly webpackConfigPath?;
    private readonly tsConfigPath;
    private readonly fileExtensions;
    private readonly maxConcurrency;
    private originalCwd;
    constructor(deps: IDependencyAnalyzerDeps, options?: IDependencyAnalyzerOptions);
    private logDebug;
    private checkInitialized;
    initialize(): Promise<void>;
    cleanup(): void;
    private handleError;
    private changeWorkingDirectory;
    private restoreWorkingDirectory;
    private emitProgress;
    validateEntryFiles(entryFiles: string[], rootDir: string, options?: IAnalyzeOptions): Promise<string[]>;
    analyzeDependencies(entryFiles: string | string[], projectRoot: string, options?: IAnalyzeOptions): Promise<IDependencyAnalysisResult>;
    gatherDependencies(adjacencyList: IDependencyMap, entryFiles: string[], maxDepth?: number): Promise<string[]>;
    getCircularDependencies(dependencyMap: IDependencyMap): Promise<string[][]>;
    private getCacheKey;
}
