*/ public function getSubfolders(): array; /** * Returns the object for a subfolder of the current folder, if it exists. */ public function getSubfolder(string $name): FolderInterface; /** * Checks if a folder exists in this folder. */ public function hasFolder(string $name): bool; /** * Checks if a file exists in this folder */ public function hasFile(string $name): bool; /** * Fetches a file from a folder, must be a direct descendant of a folder. */ public function getFile(string $fileName): ?FileInterface; /** * Renames this folder. */ public function rename(string $newName): self; /** * Deletes this folder from its storage. This also means that this object becomes useless. */ public function delete(): bool; /** * Returns the modification time of the folder as Unix timestamp */ public function getModificationTime(): int; /** * Returns the creation time of the folder as Unix timestamp */ public function getCreationTime(): int; /** * Returns a string of the path to this folder, relative to the root of the storage */ public function getReadablePath(?string $rootId = null): string; /** * Returns a list of files in this folder, based on filters and includes pagination. */ public function getFiles(int $start = 0, int $numberOfItems = 0, int $filterMode = Folder::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS, bool $recursive = false, string $sort = '', bool $sortRev = false); /** * Returns a list of files in this folder, based on SearchDemand. */ public function searchFiles(FileSearchDemand $searchDemand, int $filterMode = Folder::FILTER_MODE_USE_OWN_AND_STORAGE_FILTERS): FileSearchResultInterface; /** * Some folders have special roles in TYPO3, see the constants of this interface. */ public function getRole(): string; }