"""Security utilities for digital signatures and JWT."""

from hezor_common.security.jwt import (
    decode,
    decode_jwt,
    decode_jwt_with_file,
    decode_jwt_with_pem,
    encode,
    encode_jwt,
    encode_jwt_with_file,
    encode_jwt_with_pem,
)
from hezor_common.security.signature import (
    deserialize_private_key,
    deserialize_public_key,
    generate_key_pair,
    serialize_private_key,
    serialize_public_key,
    sign,
    sign_json,
    sign_json_with_file,
    sign_json_with_pem,
    sign_message,
    sign_message_with_file,
    sign_message_with_pem,
    verify,
    verify_json_signature,
    verify_json_signature_with_file,
    verify_json_signature_with_pem,
    verify_signature,
    verify_signature_with_file,
    verify_signature_with_pem,
)

__all__ = [
    # JWT functions
    "decode",
    "decode_jwt",
    "decode_jwt_with_file",
    "decode_jwt_with_pem",
    "encode",
    "encode_jwt",
    "encode_jwt_with_file",
    "encode_jwt_with_pem",
    # Key management
    "deserialize_private_key",
    "deserialize_public_key",
    "generate_key_pair",
    "serialize_private_key",
    "serialize_public_key",
    # Signature functions
    "sign",
    "sign_json",
    "sign_json_with_file",
    "sign_json_with_pem",
    "sign_message",
    "sign_message_with_file",
    "sign_message_with_pem",
    "verify",
    "verify_json_signature",
    "verify_json_signature_with_file",
    "verify_json_signature_with_pem",
    "verify_signature",
    "verify_signature_with_file",
    "verify_signature_with_pem",
]
