/**
 * Options for circular dependency scanning
 */
export interface CircularDependencyScannerOptions {
    verbose?: boolean;
    excludeRegExp?: string[];
    fileExtensions?: string[];
}
/**
 * Results from circular dependency scanning
 */
export interface CircularDependencyResult {
    circularDependencies: string[][];
    dependencyCount: number;
    fileCount: number;
    warnings: string[];
}
/**
 * Detects circular dependencies in the project using madge
 */
export declare class CircularDependencyScanner {
    private targetDir;
    private options;
    constructor(targetDir: string, options?: CircularDependencyScannerOptions);
    /**
     * Find circular dependencies in the project
     */
    scan(): Promise<CircularDependencyResult>;
    /**
     * Generate a report of the circular dependencies
     */
    generateReport(result: CircularDependencyResult): string;
    /**
     * Generate a visual graph of the dependencies as HTML
     */
    generateGraph(): Promise<string | null>;
}
