import { Directory } from './Directory'; import { Root } from './Root'; import { FileType, IFileEntryItem, ITreeSupervisor } from './types'; export declare class FileEntry { static nextId: () => number; static checkRawFile(file: IFileEntryItem): void; static getFileEntryById(id: number): FileEntry; private static idToFileEntry; protected _uid: number; protected _depth: number; protected _fileName: string; protected _superv: ITreeSupervisor; private _metadata; private _root; private _parent; private _disposed; private resolvedPathCache; protected constructor(root: Root, tree: ITreeSupervisor, parent: Directory, fileName: string, optionalMetadata?: { [key: string]: any; }); readonly type: FileType; /** * `disposed` status of this item * * Once an item is disposed, it's best to let go of all references to it to avoid any memory leaks */ readonly disposed: boolean; /** * Hierarchial depth of this item relative to the `Root` */ readonly depth: number; readonly root: Root; readonly parent: Directory; readonly id: number; readonly fileName: string; /** * Full absolute path of this item */ readonly path: string; /** * Very much like `unix`s `mv` command * * Calling this method directly WILL NOT trigger `onWillHandleWatchEvent` and `onDidHandleWatchEvent` events * * Prefer using `Root#inotify` instead */ mv(to: Directory, fname?: string): void; getMetadata(withKey: string): any; addMetadata(withKey: string, value: any): void; removeMetadata(withKey: string): void; protected dispose(): void; }