from logging import Logger
from typing import Any

from .base import BaseEndpoint

log: Logger

class MetadataEndpoint(BaseEndpoint):
    raise_errors: Any
    endpoints: Any
    initial_claims: Any
    claims: Any
    def __init__(self, endpoints, claims={}, raise_errors: bool = True) -> None: ...
    def create_metadata_response(
        self, uri: str, http_method: str = "GET", body: str | None = None, headers: dict[str, str] | None = None
    ): ...
    def validate_metadata(
        self, array, key, is_required: bool = False, is_list: bool = False, is_url: bool = False, is_issuer: bool = False
    ) -> None: ...
    def validate_metadata_token(self, claims, endpoint) -> None: ...
    def validate_metadata_authorization(self, claims, endpoint): ...
    def validate_metadata_revocation(self, claims, endpoint) -> None: ...
    def validate_metadata_introspection(self, claims, endpoint) -> None: ...
    def validate_metadata_server(self): ...
