"""Shared transport lifecycle only.

The framework intentionally does not force gRPC streams, HTTP requests and
QUIC datagrams behind one fake ``send`` method.  Connectors expose the common
Source/Operator/Sink contracts while transport details stay protocol-native.
"""

from __future__ import annotations

from typing import Protocol


class ManagedTransport(Protocol):
    async def close(self) -> None:
        """Release connections and protocol resources."""
