export interface TreeNode {
    name: string;
    children: TreeNode[];
    isDirectory: boolean;
}
export declare const generateFileTree: (files: string[], emptyDirPaths?: string[]) => TreeNode;
export declare const treeToString: (node: TreeNode, prefix?: string, _isRoot?: boolean) => string;
export declare const treeToStringWithLineCounts: (node: TreeNode, lineCounts: Record<string, number>, prefix?: string, currentPath?: string, _isRoot?: boolean) => string;
export declare const generateTreeString: (files: string[], emptyDirPaths?: string[]) => string;
export declare const generateTreeStringWithLineCounts: (files: string[], lineCounts: Record<string, number>, emptyDirPaths?: string[]) => string;
export interface FilesByRoot {
    rootLabel: string;
    files: string[];
}
export declare const generateTreeStringWithRoots: (filesByRoot: FilesByRoot[], emptyDirPaths?: string[]) => string;
export declare const generateTreeStringWithRootsAndLineCounts: (filesByRoot: FilesByRoot[], lineCounts: Record<string, number>, emptyDirPaths?: string[]) => string;
