
    def deferred_to_columns(self) -> Dict[Type[Model], Set[str]]: ...
    def get_converters(self, expressions: List[Expression]) -> Dict[int, Tuple[List[Callable], Expression]]: ...
    def apply_converters(
        self, rows: chain, converters: Dict[int, Tuple[List[Callable], Expression]]
    ) -> Iterator[
        Union[
            List[Optional[Union[bytes, datetime, int, str]]],
            List[Optional[Union[date, Decimal, float, str]]],
            List[Optional[Union[datetime, float, str, UUID]]],
        ]
    ]: ...
    def results_iter(
        self,
        results: Optional[Union[Iterator[Any], List[List[Tuple[Union[int, str]]]]]] = ...,
        tuple_expected: bool = ...,
        chunked_fetch: bool = ...,
        chunk_size: int = ...,
    ) -> Iterator[Any]: ...
    def has_results(self) -> bool: ...
    def execute_sql(
        self, result_type: str = ..., chunked_fetch: bool = ..., chunk_size: int = ...
    ) -> Optional[Any]: ...
    def as_subquery_condition(self, alias: str, columns: List[str], compiler: SQLCompiler) -> Tuple[str, Tuple]: ...
    def explain_query(self) -> Iterator[str]: ...

def cursor_iter(cursor: Any, sentinel: Any, col_count: Optional[int], itersize: int) -> Iterator[Any]: ...
PK