export type PathSafetyDiagnosticCode = "config.path_escape" | "config.path_symlink" | "config.path_invalid" | "walker.root_invalid" | "walker.symlink_cycle" | "walker.path_escape" | "walker.depth_exceeded" | "walker.entry_limit" | "walker.byte_limit" | "walker.file_byte_limit" | "walker.unreadable" | "walker.binary"; export type PathSafetyDiagnostic = { readonly code: PathSafetyDiagnosticCode; readonly message: string; readonly path: string; }; export type ConfiguredPathResolution = { readonly ok: true; readonly path: string; readonly relativePath: string; } | { readonly diagnostic: PathSafetyDiagnostic; readonly ok: false; }; export type BoundedWalkFile = { readonly absolutePath: string; readonly bytes: number; readonly relativePath: string; readonly text?: string; }; export type BoundedWalkOptions = { readonly displayRoot?: string; readonly extensions?: readonly string[]; readonly includeText?: boolean; readonly maxDepth?: number; readonly maxEntries?: number; readonly maxFileBytes?: number; readonly maxTotalBytes?: number; readonly skipDirectoryNames?: readonly string[]; }; export type BoundedWalkResult = { readonly diagnostics: readonly PathSafetyDiagnostic[]; readonly files: readonly BoundedWalkFile[]; readonly present: boolean; readonly safe: boolean; }; export type BoundedTextReadResult = { readonly bytes: number; readonly ok: true; readonly text: string; } | { readonly diagnostic: PathSafetyDiagnostic; readonly ok: false; }; export declare const DEFAULT_BOUNDED_WALK_LIMITS: { readonly maxDepth: 12; readonly maxEntries: 512; readonly maxFileBytes: number; readonly maxTotalBytes: number; }; export declare function resolveContainedPath(projectDir: string, configuredPath: string): ConfiguredPathResolution; export declare function readBoundedTextFile(filePath: string, projectDir: string, displayPath?: string, maxFileBytes?: number): BoundedTextReadResult; export declare function walkBoundedFiles(rootPath: string, projectDir: string, options?: BoundedWalkOptions): BoundedWalkResult;