import java.lang
import java.security
import java.util

class Acl(Owner):
    def addEntry(self, arg1: java.security.Principal, arg2: AclEntry, /) -> bool: ...
    def checkPermission(self, arg1: java.security.Principal, arg2: Permission, /) -> bool: ...
    def entries(self) -> java.util.Enumeration[AclEntry]: ...
    def getName(self) -> str: ...
    def getPermissions(self, arg1: java.security.Principal, /) -> java.util.Enumeration[Permission]: ...
    def removeEntry(self, arg1: java.security.Principal, arg2: AclEntry, /) -> bool: ...
    def setName(self, arg1: java.security.Principal, arg2: str | java.lang.String, /) -> None: ...
    def toString(self) -> str: ...

class AclEntry(java.lang.Cloneable):
    def addPermission(self, arg1: Permission, /) -> bool: ...
    def checkPermission(self, arg1: Permission, /) -> bool: ...
    def clone(self) -> java.lang.Object: ...
    def getPrincipal(self) -> java.security.Principal: ...
    def isNegative(self) -> bool: ...
    def permissions(self) -> java.util.Enumeration[Permission]: ...
    def removePermission(self, arg1: Permission, /) -> bool: ...
    def setNegativePermissions(self) -> None: ...
    def setPrincipal(self, arg1: java.security.Principal, /) -> bool: ...
    def toString(self) -> str: ...

class AclNotFoundException(java.lang.Exception):
    def __init__(self) -> None: ...

class Group(java.security.Principal):
    def addMember(self, arg1: java.security.Principal, /) -> bool: ...
    def isMember(self, arg1: java.security.Principal, /) -> bool: ...
    def members(self) -> java.util.Enumeration[java.security.Principal]: ...
    def removeMember(self, arg1: java.security.Principal, /) -> bool: ...

class LastOwnerException(java.lang.Exception):
    def __init__(self) -> None: ...

class NotOwnerException(java.lang.Exception):
    def __init__(self) -> None: ...

class Owner(java.lang.Object):
    def addOwner(self, arg1: java.security.Principal, arg2: java.security.Principal, /) -> bool: ...
    def deleteOwner(self, arg1: java.security.Principal, arg2: java.security.Principal, /) -> bool: ...
    def isOwner(self, arg1: java.security.Principal, /) -> bool: ...

class Permission(java.lang.Object): ...
