"""PyAuthz Flask integration — first-class authorization for Flask.

Provides an extension, decorators, and helpers for integrating
PyAuthz authorization into Flask applications.

Quick Example:
    from flask import Flask
    from pyauthz_flask import PyAuthzExtension, requires

    app = Flask(__name__)
    ext = PyAuthzExtension(app, pyauthz=rp, subject_resolver=resolve_user)

    @app.route("/documents/<doc_id>", methods=["DELETE"])
    @requires("documents:delete")
    def delete_document(doc_id):
        ...
"""

from pyauthz_flask.decorator import requires
from pyauthz_flask.extension import PyAuthzExtension, get_pyauthz, get_subject

__all__ = [
    "PyAuthzExtension",
    "requires",
    "get_subject",
    "get_pyauthz",
]
