import { IDirectoryItem , IListDirectoryOptions } from "models" ; import { ItemType } from "types" ; /** The interface describing a DirectoryManager. */ interface IDirectoryManager { param filePath param options returns listDirectory ( filePath , options ) : Promise < IDirectoryItem [ ] > ; param itemName param itemPath param itemType createItem ( itemName , itemPath , itemType ) : Promise < void > ; param oldName param newName param itemPath renameItem ( oldName , newName , itemPath ) : Promise < void > ; param itemsToDelete deleteItems ( itemsToDelete ) : Promise < void > ; param itemsToTrash sendItemsToTrash ( itemsToTrash ) : Promise < void > ; param itemsToCopy param destinationDirectory copyItems ( itemsToCopy , destinationDirectory ) : Promise < void > ; param itemsToMove param destinationDirectory moveItems ( itemsToMove , destinationDirectory ) : Promise < void > ; param filePath readFileSync ( filePath ) : string ; param pathToWatch param listener startWatching ( pathToWatch , listener ) : void ; /** Stops watching any directory. */ stopWatching ( ) : void ; } export default IDirectoryManager ;