# Path: flask_jwt_extended/config.py
# class _Config(object):
#     def is_asymmetric(self) -> bool:
#     def encode_key(self) -> str:
#     def decode_key(self) -> str:
#     def token_location(self) -> Sequence[str]:
#     def jwt_in_cookies(self) -> bool:
#     def jwt_in_headers(self) -> bool:
#     def jwt_in_query_string(self) -> bool:
#     def jwt_in_json(self) -> bool:
#     def header_name(self) -> str:
#     def header_type(self) -> str:
#     def query_string_name(self) -> str:
#     def query_string_value_prefix(self) -> str:
#     def access_cookie_name(self) -> str:
#     def refresh_cookie_name(self) -> str:
#     def access_cookie_path(self) -> str:
#     def refresh_cookie_path(self) -> str:
#     def cookie_secure(self) -> bool:
#     def cookie_domain(self) -> str:
#     def session_cookie(self) -> bool:
#     def cookie_samesite(self) -> str:
#     def json_key(self) -> str:
#     def refresh_json_key(self) -> str:
#     def csrf_protect(self) -> bool:
#     def csrf_request_methods(self) -> Iterable[str]:
#     def csrf_in_cookies(self) -> bool:
#     def access_csrf_cookie_name(self) -> str:
#     def refresh_csrf_cookie_name(self) -> str:
#     def access_csrf_cookie_path(self) -> str:
#     def refresh_csrf_cookie_path(self) -> str:
#     def access_csrf_header_name(self) -> str:
#     def refresh_csrf_header_name(self) -> str:
#     def csrf_check_form(self) -> bool:
#     def access_csrf_field_name(self) -> str:
#     def refresh_csrf_field_name(self) -> str:
#     def access_expires(self) -> ExpiresDelta:
#     def refresh_expires(self) -> ExpiresDelta:
#     def algorithm(self) -> str:
#     def decode_algorithms(self) -> List[str]:
#     def _secret_key(self) -> str:
#     def _public_key(self) -> str:
#     def _private_key(self) -> str:
#     def cookie_max_age(self) -> Optional[int]:
#     def identity_claim_key(self) -> str:
#     def exempt_methods(self) -> Iterable[str]:
#     def error_msg_key(self) -> str:
#     def json_encoder(self) -> Type[JSONEncoder]:
#     def decode_audience(self) -> Union[str, Iterable[str]]:
#     def encode_audience(self) -> Union[str, Iterable[str]]:
#     def encode_issuer(self) -> str:
#     def decode_issuer(self) -> str:
#     def leeway(self) -> int:
#     def encode_nbf(self) -> bool:


import jwt
from flask_jwt_extended.config import config



def encode_token(app, token_data, headers=None):
    with app.test_request_context():
        return jwt.encode(
            token_data,

# Path: flask_jwt_extended/config.py
# class _Config(object):
#     def is_asymmetric(self) -> bool:
#     def encode_key(self) -> str:
#     def decode_key(self) -> str:
#     def token_location(self) -> Sequence[str]:
#     def jwt_in_cookies(self) -> bool:
#     def jwt_in_headers(self) -> bool:
#     def jwt_in_query_string(self) -> bool:
#     def jwt_in_json(self) -> bool:
#     def header_name(self) -> str:
#     def header_type(self) -> str:
#     def query_string_name(self) -> str:
#     def query_string_value_prefix(self) -> str:
#     def access_cookie_name(self) -> str:
#     def refresh_cookie_name(self) -> str:
#     def access_cookie_path(self) -> str:
#     def refresh_cookie_path(self) -> str:
#     def cookie_secure(self) -> bool:
#     def cookie_domain(self) -> str:
#     def session_cookie(self) -> bool:
#     def cookie_samesite(self) -> str:
#     def json_key(self) -> str:
#     def refresh_json_key(self) -> str:
#     def csrf_protect(self) -> bool:
#     def csrf_request_methods(self) -> Iterable[str]:
#     def csrf_in_cookies(self) -> bool:
#     def access_csrf_cookie_name(self) -> str:
#     def refresh_csrf_cookie_name(self) -> str:
#     def access_csrf_cookie_path(self) -> str:
#     def refresh_csrf_cookie_path(self) -> str:
#     def access_csrf_header_name(self) -> str:
#     def refresh_csrf_header_name(self) -> str:
#     def csrf_check_form(self) -> bool:
#     def access_csrf_field_name(self) -> str:
#     def refresh_csrf_field_name(self) -> str:
#     def access_expires(self) -> ExpiresDelta:
#     def refresh_expires(self) -> ExpiresDelta:
#     def algorithm(self) -> str:
#     def decode_algorithms(self) -> List[str]:
#     def _secret_key(self) -> str:
#     def _public_key(self) -> str:
#     def _private_key(self) -> str:
#     def cookie_max_age(self) -> Optional[int]:
#     def identity_claim_key(self) -> str:
#     def exempt_methods(self) -> Iterable[str]:
#     def error_msg_key(self) -> str:
#     def json_encoder(self) -> Type[JSONEncoder]:
#     def decode_audience(self) -> Union[str, Iterable[str]]:
#     def encode_audience(self) -> Union[str, Iterable[str]]:
#     def encode_issuer(self) -> str:
#     def decode_issuer(self) -> str:
#     def leeway(self) -> int:
#     def encode_nbf(self) -> bool:


# Path: tests/utils.py
import jwt
from flask_jwt_extended.config import config




def encode_token(app, token_data, headers=None):
    with app.test_request_context():
        return jwt.encode(
            token_data,

            config.decode_key,