import type { ReadonlyDeep } from 'type-fest'; import type { Import } from '../imports/index.js'; interface Module { isUsed: boolean; } interface Package { name: string; dependants: Set; dependencies: Set; isUsed: boolean; modules: Map; } interface Summary { packagesTracked: number; packagesUsed: number; packagesUsage: number; } interface UsageJsonPackage { name: string; isUsed: boolean; dependants: { name: string; isUsed: boolean; }[]; dependencies: { name: string; isUsed: boolean; }[]; modulesImported: string[]; modulesNotImported: string[]; } interface UsageJson { summary: Summary; packages: UsageJsonPackage[]; } declare class Usage { private readonly storage; constructor(packageNames: readonly string[]); init(): Promise; getPackageNames(): string[]; getPackage(packageName: string): Package | undefined; getModule(packageName: string, moduleName: string): Module | undefined; hasPackage(packageName: string): boolean; hasModule(packageName: string, moduleName: string): boolean; isPackageUsed(packageName: string): boolean; isModuleUsed(packageName: string, moduleName: string): boolean; setPackageUsed(packageName: string): void; addImports(imports: ReadonlyDeep): void; summary(): Summary; json(): UsageJson; print(): void; } export default Usage; //# sourceMappingURL=usage.d.ts.map