from _typeshed import Incomplete

class BaseClaims(dict[str, object]):
    REGISTERED_CLAIMS: list[str]
    header: Incomplete
    options: Incomplete
    params: Incomplete
    def __init__(self, payload, header, options: Incomplete | None = None, params: Incomplete | None = None) -> None: ...
    def __getattr__(self, key): ...
    def get_registered_claims(self): ...

class JWTClaims(BaseClaims):
    REGISTERED_CLAIMS: list[str]
    def validate(self, now: Incomplete | None = None, leeway: int = 0) -> None: ...
    def validate_iss(self) -> None: ...
    def validate_sub(self) -> None: ...
    def validate_aud(self) -> None: ...
    def validate_exp(self, now, leeway) -> None: ...
    def validate_nbf(self, now, leeway) -> None: ...
    def validate_iat(self, now, leeway) -> None: ...
    def validate_jti(self) -> None: ...
