import type { Workspace } from '../../pm/index.ts';
import { type PackageAnalysis } from './analyzePackage.ts';
import { type ExternalUsageMap } from './collectExternalUsage.ts';
import { getDisabledWorkspaceRules } from './evaluateRules.ts';
import type { WorkspaceFileLookupResult } from './findWorkspaceFile.ts';
import type { DeadFinding, DeadRule } from './types.ts';
export { propagateExternalUsage } from './propagateExternalUsage.ts';
export interface DeadAnalysisContext {
    analyses: PackageAnalysis[];
    disabledWorkspaceRules: ReturnType<typeof getDisabledWorkspaceRules>;
    effectiveRules: DeadRule[];
    lookup: WorkspaceFileLookupResult | undefined;
    propagationAnalyses: PackageAnalysis[];
    repoUsageByPackageName: Map<string, ExternalUsageMap>;
    /** Package names tracked while collecting usage and re-export forwarding context. */
    targetPackageNames: Set<string>;
    targets: Workspace[];
    workspaceUsage: ExternalUsageMap | undefined;
}
export declare function resolveExternalFolders(workspaceFilePath: string, ownLocations: Set<string>): string[];
export declare function collectRepoUsageByPackageName(analyses: PackageAnalysis[], repoWorkspaces: Workspace[], targetPackageNames: Set<string>, propagationAnalyses?: PackageAnalysis[]): Map<string, ExternalUsageMap>;
export declare function buildDeadAnalysisContext(targets: Workspace[], workspace: string | undefined, isVerbose: boolean, includeDeprecated: boolean): Promise<DeadAnalysisContext>;
export declare function evaluateFindings(context: DeadAnalysisContext): DeadFinding[];
export declare function refreshFindingsAfterRemoval(context: DeadAnalysisContext): DeadFinding[];
//# sourceMappingURL=runDeadAnalysis.d.ts.map