/** Represents file contents with absolute path. */
export interface FileContent {
    path: string;
    content: string;
}
/** Loads ignore patterns from a file (or a default list) and returns a list of RegExp patterns. */
export declare function loadIgnorePatterns(filePath?: string): Array<RegExp>;
/** Checks if a given path is ignored by any of the compiled patterns. */
export declare function shouldIgnorePath(p: string, compiledPatterns: Array<RegExp>): boolean;
/**
 * Recursively builds an ASCII representation of a directory structure, given a list
 * of file paths.
 */
export declare function makeAsciiDirectoryStructure(rootPath: string, filePaths: Array<string>): string;
/**
 * Recursively collects all files under rootPath that are not ignored, skipping symlinks.
 * Then for each file, we check if it's in the LRU cache. If not or changed, we read it.
 * Returns an array of FileContent.
 *
 * After collecting, we remove from the cache any file that no longer exists in the BFS.
 */
export declare function getFileContents(rootPath: string, compiledPatterns: Array<RegExp>): Promise<Array<FileContent>>;
