/**
 * Directories to skip during filesystem walks.
 * Shared by index-tools, search-tools, and (via toIgnorePatterns) watcher.
 */
export declare const IGNORE_DIRS: Set<string>;
/**
 * Convert IGNORE_DIRS to chokidar-compatible glob patterns.
 * e.g., "node_modules" -> "**\/node_modules/**"
 */
export declare function toIgnorePatterns(): string[];
/**
 * Backup and editor-generated files to exclude by default.
 * These patterns commonly appear in working directories and cause:
 * - Index duplication (e.g. Mobi2 had Survey.php + Survey copy.php)
 * - False references pointing at backup files
 * - Wasted parser time on abandoned code
 *
 * Disabled with env var CODESIFT_INCLUDE_BACKUPS=1.
 */
export declare const BACKUP_FILE_PATTERNS: RegExp[];
export interface WalkOptions {
    /**
     * When provided, only files whose relative path starts with one of these
     * prefixes are included.
     */
    includePaths?: string[] | undefined;
    /**
     * Maximum file size in bytes. Files larger than this are skipped.
     * Defaults to 1 MB.
     */
    maxFileSize?: number | undefined;
    /**
     * Safety cap on the number of files returned. When reached, walking stops
     * and a warning is printed. Defaults to unlimited.
     */
    maxFiles?: number | undefined;
    /**
     * Called for each file entry. Return `true` to include the file, `false` to
     * skip it. Receives the file's extension (including the dot, e.g. ".ts").
     *
     * When omitted every file (within size limits) is included.
     */
    fileFilter?: ((ext: string, name?: string) => boolean) | undefined;
    /**
     * When `true` the returned paths are relative to `rootPath`.
     * When `false` (default) the returned paths are absolute.
     */
    relative?: boolean | undefined;
    /**
     * When `true`, follow symlinks and walk their targets.
     * Cycle detection via inode tracking prevents infinite loops.
     * Defaults to `false`.
     */
    followSymlinks?: boolean | undefined;
    /**
     * Glob patterns to exclude (like .gitignore syntax).
     * Matched against relative paths using picomatch.
     * Example: ["dist/**", "*.generated.ts"]
     */
    excludePatterns?: string[] | undefined;
}
/**
 * Walk a directory tree collecting files.
 * Skips directories listed in IGNORE_DIRS and hidden directories (dot-prefixed).
 */
export declare function walkDirectory(rootPath: string, options?: WalkOptions): Promise<string[]>;
//# sourceMappingURL=walk.d.ts.map