/** * Deleted-vs-unmounted rule for `cleanup --data` (#347): decides whether a * recorded project path is gone because it was deleted, or only because the * volume holding it is not attached right now. */ /** The two filesystem questions the rule asks; injectable for tests. */ export interface OriginFs { exists(p: string): boolean; /** st_dev of `p`; throws when it cannot be stat-ed. */ dev(p: string): number; } /** * True when a recorded project path is gone because it was deleted, not * because the volume holding it is unmounted. Walks up to the nearest existing * ancestor: when that is the path's own parent (the old rule), a well-known * local root (home, /tmp, /var/tmp, the OS temp dir — a tmpfs /tmp is a mount, * but its children vanishing means deletion) or a directory on the same device * as its own parent, the path was deleted — this covers a whole deleted test * root. When it is a mount point (`/`, a network share's mount) or a * removable-media directory, the missing piece may be a volume that is not * attached right now, so the path is kept. */ export declare function isProvablyDeleted(p: string, fs?: OriginFs, localRoots?: readonly string[]): boolean; //# sourceMappingURL=cleanup-origin.d.ts.map