import type { PlatformPath } from "path"; import type { VcsFile } from "./vcs"; type FileTreeNodeOptions = { ownPath: string; pathUtils: PlatformPath; }; export declare class FileTreeNode { private readonly ownPath; private readonly pathUtils; private readonly files; private readonly childrenBySubpath; constructor({ ownPath, pathUtils }: FileTreeNodeOptions); getOwnPath(): string; addFile(file: VcsFile): boolean; getFiles(): VcsFile[]; getChildBySubpath(subpath: string): FileTreeNode | undefined; } export declare class FileTree { private readonly root; private readonly pathUtils; constructor(root: FileTreeNode, pathUtils: PlatformPath); private getNodeAtPath; getFilesAtPath(filesPath: string): VcsFile[]; isDirectory(filesPath: string): boolean; static fromFiles(files: VcsFile[], platform?: "win32" | "posix"): FileTree; } export {};