text: Title: Docs: Warn about using `TYPE_CHECKING` for injected types
  Body: ### Summary
  
  Typically, annotation-only imports may be skipped during runtime (for perf gains) with `if TYPE_CHECKING` blocks.
  
  There are even linters to enforce this, ie. nag when an annotation-only import is done without `TYPE_CHECKING` block. There's https://github.com/snok/flake8-type-checking and a matching [ruff rule](https://docs.astral.sh/ruff/rules/typing-only-first-party-import/).
  
  Moving the import to `if TYPE_CHECKING` block will raise error, as Litestar DI needs the type information:
  
  ```py
  # app.py
  
  from litestar import Litestar, get
  from litestar.di import Provide
  from typing import TYPE_CHECKING
  
  if TYPE_CHECKING:
      from service import Service
  
  
  @get()
  async def hello(service: Service) -> None:
      pass
  
  
  app = Litestar(
      route_handlers=[hello],
      dependencies={"service": Provide(Service, sync_to_thread=False)}
  )
  
  # service.py
  
  class Service:
      pass
  ```
  
  ```console
  ❯ python app.py
  Traceback (most recent call last):
    File "/home/musttu/Projects/api/api/app.py", line 18, in <module>
      dependencies={"service": Provide(Service, sync_to_thread=False)}
  NameError: name 'Service' is not defined
  ```
  
  I didn't see any mention of this caveat in the documentation - should be added.
  
  ---
  
  Also, is there some trick to configure the linters to _not_ nag in these cases (Litestar DI), but do in others?
  
  It seems that `flake8-type-checking` [supports FastAPI](https://github.com/snok/flake8-type-checking/issues/52) but [apparently not Litestar](https://github.com/snok/flake8-type-checking/issues?q=is%3Aissue+is%3Aopen+litestar). `ruff`probably doesn't have any special tricks for either(?)