import type { Stats } from "node:fs"; export type SafeRepositoryPathResult = { state: "present"; path: string; absolutePath: string; stats: Stats; } | { state: "symlink"; path: string; boundaryPath: string; } | { state: "absent" | "unreadable" | "outside"; path: string; }; export interface RepositoryWalkResult { files: string[]; excludedFiles: string[]; excludedDirectories: string[]; traversedDirectories: string[]; symlinks: string[]; depthLimited: Array<{ path: string; kind: "directory" | "file" | "symlink" | "other"; }>; unreadable: Array<{ path: string; error: string; }>; } /** Walk repository files without ever following a symbolic link. */ export declare function walkRepositoryFiles(root: string, options: { maxDepth: number; excluded: (relativePath: string) => boolean; }): Promise; /** Inspect every component with lstat, never following a repository symlink. */ export declare function safeRepositoryPath(root: string, candidate: string): Promise;