from typing import Protocol

class GenericCallbackPipeline(Protocol):
    async def on_request(self, route, request): ...
    def on_response(self, response): ...
    async def on_crawl_end(self): ...
    async def on_iteration_split(self): ...