import type { Children, FileNode } from "../types";
import type { ParseProjectOptions } from "../types/parsers/types";
type IgnoreRules = {
    ignoreNames: Set<string>;
    ignoreSuffixes: Set<string>;
};
export declare const DEFAULT_IGNORE_NAMES: ReadonlySet<string>;
export declare const DEFAULT_IGNORE_SUFFIXES: ReadonlySet<string>;
export declare function aggregateChildHashes(children: Children, computeHash: (content: string) => string): string;
export declare function buildTreeFromFs(dir: string, parseFile: (filePath: string, content: string, ext: string) => Promise<FileNode>, computeHash: (content: string) => string, targetLanguage?: string, options?: ParseProjectOptions, rules?: IgnoreRules): Promise<Children>;
export declare function buildTreeFromFsIncremental(dir: string, prevFilesByAbsPath: Map<string, FileNode>, parseFile: (filePath: string, content: string, ext: string) => Promise<FileNode>, computeHash: (content: string) => string, targetLanguage?: string, options?: ParseProjectOptions, rules?: IgnoreRules): Promise<Children>;
export {};
