from typing import AsyncIterable, Callable

from blacksheep.contents import Content
from blacksheep.cookies import Cookie
from blacksheep.messages import Request, Response

def get_status_line(status: int) -> bytes: ...
def is_small_request(request: Request) -> bool: ...
def request_has_body(request: Request) -> bool: ...
def write_small_request(request: Request) -> bytes: ...
def write_request_without_body(request: Request) -> bytes: ...
def write_chunks(content: Content) -> AsyncIterable[bytes]: ...
async def send_asgi_response(response: Response, send: Callable): ...
def write_request(request: Request) -> AsyncIterable[bytes]: ...
def write_response(response: Response) -> AsyncIterable[bytes]: ...
def write_request_body_only(request: Request) -> AsyncIterable[bytes]: ...
def write_response_cookie(cookie: Cookie) -> bytes: ...
