from typing import Any, Callable, List, Tuple

from sanic.request import Request

def _get_request(args: Tuple[Any]) -> Request: ...
def _get_raw_jwt_from_request(request: Request) -> str: ...
def _get_raw_jwt_from_headers(request: Request) -> str: ...
def _get_raw_jwt_from_query_params(request: Request) -> str: ...
def _get_raw_jwt_from_cookies(request: Request) -> str: ...
def jwt_required(
    function: Callable = ...,
    *,
    allow: List[str] = ...,
    deny: List[str] = ...,
    fresh_required: bool = ...
) -> Any: ...
def jwt_optional(function: Callable) -> Any: ...
def refresh_jwt_required(
    function: Callable = ..., *, allow: List[str] = ..., deny: List[str] = ...
) -> Any: ...
