import type { Workspace } from '../../../pm/index.ts';
import type { CheckPackageParams, CheckSourceParams } from './checkPackageTypes.ts';
/**
 * Determines whether an import should be a peerDependency in a library
 * package. External (non-workspace) runtime deps default to peers so
 * consumers are in control of the version. Workspace-internal deps stay
 * as regular dependencies. Callers are expected to already have excluded
 * forceDeps (`placement: "dep"` or legacy `refType`) and terminal packages. The `currentPeers`
 * and `distImports` parameters are retained for future heuristics (e.g.
 * promoting only when an import shares peers with existing peerDeps) but
 * are not required to trigger promotion under the external-default rule.
 */
export declare function shouldBePeerDependency(imp: string, _location: string, _currentPeers: string[], _distImports: string[], workspaceNames?: Set<string>): boolean;
export interface UnlistedDep {
    imp: string;
    section: 'dependencies' | 'devDependencies';
}
export declare function findUnlistedDependencies(name: string, dependencies: string[], devDependencies: string[], peerDependencies: string[], externalDistImports: string[], externalDistTypeImports: string[]): UnlistedDep[];
export declare function getUnlistedDependencies({ name, location }: Workspace, { dependencies, devDependencies, peerDependencies, }: CheckPackageParams, { externalDistImports, externalDistTypeImports, distImportPaths, }: CheckSourceParams): number;
export declare function fixUnlistedDependencies(workspace: Workspace, { dependencies, devDependencies, peerDependencies, }: CheckPackageParams, { externalDistImports, externalDistTypeImports }: CheckSourceParams, workspaceNames?: Set<string>, isTerminal?: boolean): number;
//# sourceMappingURL=getUnlistedDependencies.d.ts.map