import { type Stats } from "node:fs"; export type RuntimeTreeEntry = { path: string; type: "directory"; mode: number; } | { path: string; type: "file"; mode: number; size: number; sha256: string; } | { path: string; type: "link"; target: string; }; export declare const runtimeTreeError: () => Error; export declare function within(root: string, file: string): boolean; export declare function sameFile(before: Stats, after: Stats): boolean; /** 有界、无链接跟随的读取;复制硬链接时只采用当前内容,不沿用共享inode。 */ export declare function hashRuntimeFile(file: string, chunk?: (buffer: Buffer) => Promise): Promise<{ size: number; sha256: string; mode: number; }>; /** 不遍历链接目标;跨根扫描显式投影链接,普通扫描要求目标位于同一棵物理树内。 */ export declare function scanRuntimeTree(root: string, snapshot?: boolean, excludedPaths?: string[], projectLink?: (absolute: string, lexicalTarget: string, realTarget: string) => string): Promise; //# sourceMappingURL=service-migration-runtime-tree-scan.d.ts.map