import { URI } from '@difizen/mana-common'; import { LabelProvider } from '../label'; import { TreeExpansionService, TreeModelImpl, TreeNavigationService, TreeSelectionService } from '../tree'; import type { CompositeTreeNode, TreeNode } from '../tree'; import { FileService } from './file-service'; import { FileStatNode } from './file-tree'; import type { FileTree } from './file-tree'; import type { FileChange, FileChangesEvent, FileOperationEvent } from './files'; export declare class FileTreeModel extends TreeModelImpl { rootVisible: boolean; protected readonly labelProvider: LabelProvider; protected readonly fileService: FileService; protected readonly tree: FileTree; protected readonly selectionService: TreeSelectionService; protected readonly expansionService: TreeExpansionService; protected readonly navigationService: TreeNavigationService; constructor(labelProvider: LabelProvider, fileService: FileService, tree: FileTree, selectionService: TreeSelectionService, expansionService: TreeExpansionService, navigationService: TreeNavigationService); protected init(): void; get selectedFileStatNodes(): Readonly[]; getNodesByUri(uri: URI): IterableIterator; get location(): URI | undefined; set location(uri: URI | undefined); /** * to workaround https://github.com/Axosoft/nsfw/issues/42 */ protected onDidMove(event: FileOperationEvent): void; protected onFilesChanged(changes: FileChangesEvent): void; protected isRootAffected(changes: FileChangesEvent): boolean; protected getAffectedUris(changes: FileChangesEvent): URI[]; protected isFileContentChanged(change: FileChange): boolean; protected refreshAffectedNodes(uris: URI[]): boolean; protected getAffectedNodes(uris: URI[]): Map; copy(source: URI, target: Readonly): Promise; /** * Move the given source file or directory to the given target directory. */ move(source: TreeNode, target: TreeNode): Promise; protected shouldReplace(_fileName: string): Promise; } //# sourceMappingURL=file-tree-model.d.ts.map