import { AbstractGitHandler } from "./git"; import type { GetFilesParams, VcsFile, VcsHandlerParams } from "./vcs"; export declare function getHashedFilterParams({ filter, augmentedIncludes, augmentedExcludes, }: { filter: ((path: string) => boolean) | undefined; augmentedIncludes: string[]; augmentedExcludes: string[]; }): string; export declare class GitRepoHandler extends AbstractGitHandler { private readonly gitHandlerDelegate; readonly name = "git-repo"; constructor(params: VcsHandlerParams); /** * This has the same signature as the `GitSubTreeHandler` class method but instead of scanning the individual directory * path directly, we scan the entire enclosing git repository, cache that file list and then filter down to the * sub-path. This results in far fewer git process calls but in turn collects more data in memory. */ getFiles(params: GetFilesParams): Promise; /** * Scans the given repo root and caches the list of files in the tree cache. * Uses an async lock to ensure a repo root is only scanned once. * * Delegates to {@link GitSubTreeHandler.getFiles}. */ private scanRepo; }