from typing import Any, List

from fastapi.responses import JSONResponse

from ..custom_types import CustomError as CustomError
from ..custom_types import HttpError as HttpError

def process_pydantic_validation(v): ...
def json_response(status_code: int, content: Any) -> JSONResponse: ...
def json_error(status_code: int, message: str, reasons: List[str]) -> JSONResponse: ...
def http_error(status_code: int, message: str, reasons: List[str]) -> HttpError: ...
def http_error_to_json_response(http_error: HttpError) -> JSONResponse: ...
def http_200_json(content) -> JSONResponse: ...
def http_400_json(message: str, reasons: List[str]) -> JSONResponse: ...
def http_403_json(message: str, reasons: List[str]) -> JSONResponse: ...
def http_404_json(message: str, reasons: List[str]) -> JSONResponse: ...
def http_500_json(message: str, reasons: List[str]) -> JSONResponse: ...
def http_200_json_with_cookie(
    content,
    key: str,
    value: str,
    max_age: int,
    secure: bool,
    httponly: bool,
    domain: str,
) -> JSONResponse: ...
