import type { URI } from '@difizen/mana-common'; import type { TreeNode, CompositeTreeNode } from '../tree/tree'; import type { ExpandableTreeNode } from '../tree/tree-expansion'; import { TreeImpl } from '../tree/tree-impl'; import type { SelectableTreeNode } from '../tree/tree-selection'; import type { FileSelection } from './file-selection'; import { FileService } from './file-service'; import type { URINode } from './file-tree-protocol'; import type { FileStat, FileType, Stat } from './files'; export declare class FileTree extends TreeImpl { protected readonly fileService: FileService; constructor(fileService: FileService); resolveChildren(raw: CompositeTreeNode): Promise; protected resolveFileStat(node: FileStatNode): Promise; protected toNodes(fileStat: FileStat, parent: CompositeTreeNode): Promise; protected toNode(fileStat: FileStat, parent: CompositeTreeNode): FileNode | DirNode; protected toNodeId(uri: URI, _parent: CompositeTreeNode): string; } export interface FileStatNode extends SelectableTreeNode, URINode, FileSelection { } export declare namespace FileStatNode { function is(node: object | undefined): node is FileStatNode; function getUri(node: TreeNode | undefined): string | undefined; } export type FileStatNodeData = Omit & { uri: string; stat?: Stat | ({ type: FileType; } & Partial); fileStat?: FileStat; }; export declare namespace FileStatNodeData { function is(node: object | undefined): node is FileStatNodeData; } export type FileNode = FileStatNode; export declare namespace FileNode { function is(node: Record | undefined): node is FileNode; } export type DirNode = FileStatNode & ExpandableTreeNode; export declare namespace DirNode { function is(node: Record | undefined): node is DirNode; function compare(node: TreeNode, node2: TreeNode): number; function uriCompare(node: TreeNode, node2: TreeNode): number; function dirCompare(node: TreeNode, node2: TreeNode): number; function createRoot(fileStat: FileStat, rootVisible: boolean): DirNode; function getContainingDir(node: TreeNode | undefined): DirNode | undefined; } //# sourceMappingURL=file-tree.d.ts.map