from typing import Any, List, Set

from dev.coatl.helper.types import AnyStr as AnyStr
from org.apache.poi.hpsf import ClassID

class Entry:
    def delete(self) -> bool: ...
    def getName(self) -> AnyStr: ...
    def getParent(self) -> DirectoryEntry: ...
    def isDirectoryEntry(self) -> bool: ...
    def isDocumentEntry(self) -> bool: ...
    def renameTo(self, newName: AnyStr) -> None: ...

class DirectoryEntry(Entry):
    def createDirectory(self, name: AnyStr) -> DirectoryEntry: ...
    def createDocument(self, *args: Any) -> None: ...
    def delete(self) -> bool: ...
    def getEntries(self) -> List[Entry]: ...
    def getEntry(self, name: AnyStr) -> Entry: ...
    def getEntryCount(self) -> int: ...
    def getEntryNames(self) -> Set[AnyStr]: ...
    def getName(self) -> AnyStr: ...
    def getParent(self) -> DirectoryEntry: ...
    def getStorageClsid(self) -> ClassID: ...
    def hasEntry(self, name: AnyStr) -> bool: ...
    def isDirectoryEntry(self) -> bool: ...
    def isDocumentEntry(self) -> bool: ...
    def isEmpty(self) -> bool: ...
    def renameTo(self, newName: AnyStr) -> None: ...
    def setStorageClsid(self, clsidStorage: ClassID) -> None: ...
