import type { FileTreeNode } from "./hooks/use-sandbox-files.js"; export type FileNodeVisibilityContext = { depth: number; parent: FileTreeNode | null; }; /** Presentation-only predicate. It never changes filesystem authorization. */ export type FileNodeVisibilityPredicate = (node: FileTreeNode, context: FileNodeVisibilityContext) => boolean; export type FilePathVisibility = "visible" | "hidden" | "unknown"; /** * Filter an authoritative tree without promoting children of a hidden parent. * Undefined children stay undefined so lazy-loading semantics are preserved. */ export declare function visibleFileTree(nodes: FileTreeNode[], predicate?: FileNodeVisibilityPredicate, parent?: FileTreeNode | null, depth?: number): FileTreeNode[]; /** Resolve only what the currently loaded tree can prove. */ export declare function filePathVisibility(nodes: FileTreeNode[], path: string, predicate?: FileNodeVisibilityPredicate, parent?: FileTreeNode | null, depth?: number): FilePathVisibility;