import type { Workspace } from '../../pm/index.ts';
import type { PackageVisibility } from './classifyPackageVisibility.ts';
import type { ExternalUsageMap } from './collectExternalUsage.ts';
import { type RuntimeRootEntry } from './runtimeEntries.ts';
export interface PublicExport {
    /** Column of the originating declaration */
    column: number;
    deprecated?: boolean;
    /** Manifest export path that exposes this symbol, e.g. "." or "./model" */
    exportPath: string;
    /** Path of the file that declares the value */
    file: string;
    /** Line of the originating declaration */
    line: number;
    /** Exported name as seen by consumers */
    name: string;
    /** Path of the file that exposes the export as part of the public surface (a runtime root) */
    rootFile: string;
}
export interface AnalyzedSymbol {
    column: number;
    deprecated?: boolean;
    exportedAs?: string;
    file: string;
    isUsedInPackage: boolean;
    line: number;
    name: string;
    onPublicSurface: boolean;
    usedInMonorepo: boolean;
}
export interface PackageAnalysis {
    location: string;
    packageName: string;
    publicExports: PublicExport[];
    runtimeRoots: RuntimeRootEntry[];
    scannedFiles: number;
    symbols: AnalyzedSymbol[];
    visibility: PackageVisibility;
    workspaceName: string;
}
export declare function applyMonorepoUsage(analyses: PackageAnalysis[], repoUsage: ExternalUsageMap): PackageAnalysis[];
export declare function analyzePackage(workspace: Workspace): PackageAnalysis;
//# sourceMappingURL=analyzePackage.d.ts.map