/**
 * Unused Code Detectors
 * Contains all detection logic for different types of unused code
 */
import { UnusedFile, UnusedFunction, UnusedImport, UnusedAsset, UnusedStyle, CallGraphNode, FileMetadata } from './types.js';
export declare class UnusedCodeDetectors {
    private projectRoot;
    private callGraph;
    private fileMetadata;
    private entryPoints;
    constructor(projectRoot: string, callGraph: Map<string, CallGraphNode>, fileMetadata: Map<string, FileMetadata>, entryPoints: Set<string>);
    findUnusedFiles(): Promise<UnusedFile[]>;
    findUnusedFunctions(): Promise<UnusedFunction[]>;
    findUnusedImports(): Promise<UnusedImport[]>;
    findUnusedAssets(): Promise<UnusedAsset[]>;
    findUnusedStyles(): Promise<UnusedStyle[]>;
    private resolveImportPath;
    private findPotentialEntryPoints;
    private calculateFileUnusedConfidence;
    private getFileUnusedReason;
    private isInEntryPoint;
    private calculateFunctionComplexity;
    private calculateFunctionSize;
    private getFunctionUnusedReason;
    private calculateFunctionUnusedConfidence;
    private parseImportStatements;
    private isImportUsed;
    private calculateImportUnusedConfidence;
    private findAssetReferences;
    private getAssetType;
    private calculateAssetUnusedConfidence;
    private extractCSSSelectors;
    private findSelectorUsage;
    private getCSSelectorType;
    private calculateStyleUnusedConfidence;
}
//# sourceMappingURL=UnusedCodeDetectors.d.ts.map