export interface FileNode {
    name: string;
    path: string;
    absolutePath: string;
    isDirectory: boolean;
    size?: number;
    children?: FileNode[];
}
export interface FlatNode {
    node: FileNode;
    depth: number;
    isExpanded: boolean;
    hasChildren: boolean;
}
/**
 * Build a file tree from a root directory
 * Respects gitignore and excludes hidden files by default
 */
export declare function buildFileTree(rootPath: string, options?: {
    maxDepth?: number;
    showHidden?: boolean;
}): Promise<FileNode[]>;
/**
 * Flatten a file tree into a list for rendering
 * Only includes visible nodes based on expanded state
 */
export declare function flattenTree(nodes: FileNode[], expanded: Set<string>, depth?: number): FlatNode[];
/**
 * Flatten entire file tree (all nodes regardless of expansion)
 * Used for searching across all files
 */
export declare function flattenTreeAll(nodes: FileNode[], depth?: number): FlatNode[];
/**
 * Get relative path from cwd
 */
export declare function getRelativePath(absolutePath: string): string;
//# sourceMappingURL=file-tree.d.ts.map