import { type GlobalPackageBinSnapshot, type GlobalPackageInfo } from '@pnpm/global.packages'; /** * A complete ownership snapshot for the groups about to be replaced or * removed, together with the at-risk bins owned by groups that will survive. * * Every manifest read settles before the caller mutates global state. That * makes a target whose ownership cannot be read fail closed. Survivors only * need inspecting when a target bin will not be retained, because no other * bin can be removed. */ export declare function getGlobalBinOwnership(globalDir: string, targetGroups: GlobalPackageInfo[], retainedBinNames: Set): Promise<{ groups: GlobalPackageBinSnapshot[]; protectedBins: Set; }>;