from typing import Any

__all__ = ("CertStore", "Certificate", "FSCertStore")

class Certificate:
    def __init__(self, cert: bytes | str) -> None: ...
    def has_expired(self) -> bool: ...
    def get_id(self) -> str: ...
    def get_pubkey(self) -> Any: ...
    def get_serial_number(self) -> int: ...
    def get_issuer(self) -> str: ...
    def verify(self, data: bytes, signature: bytes, digest: str) -> None: ...

class CertStore:
    def __init__(self) -> None: ...
    def __getitem__(self, id: str) -> Certificate: ...
    def itercerts(self) -> list[Certificate]: ...
    def add_cert(self, cert: Certificate) -> None: ...

class FSCertStore(CertStore):
    def __init__(self, path: str) -> None: ...
