1from __future__ import annotations
2
3import typing as t
4
5import sqlglot
6
7if t.TYPE_CHECKING:
8 from typing_extensions import Literal as Lit # noqa
9
10# A little hack for backwards compatibility with Python 3.7.
11# For example, we might want a TypeVar for objects that support comparison e.g. SupportsRichComparisonT from typeshed.
12# But Python 3.7 doesn't support Protocols, so we'd also need typing_extensions, which we don't want as a dependency.
13A = t.TypeVar("A", bound=t.Any)
14B = t.TypeVar("B", bound="sqlglot.exp.Binary")
15E = t.TypeVar("E", bound="sqlglot.exp.Expression")
16F = t.TypeVar("F", bound="sqlglot.exp.Func")
17T = t.TypeVar("T")