1# Stubs for gc
2
3import sys
4from typing import Any, Dict, List, Optional, Tuple
5
6
7DEBUG_COLLECTABLE: int
8DEBUG_LEAK: int
9DEBUG_SAVEALL: int
10DEBUG_STATS: int
11DEBUG_UNCOLLECTABLE: int
12callbacks: List[Any]
13garbage: List[Any]
14
15def collect(generations: int = ...) -> int: ...
16def disable() -> None: ...
17def enable() -> None: ...
18def get_count() -> Tuple[int, int, int]: ...
19def get_debug() -> int: ...
20if sys.version_info >= (3, 8):
21    def get_objects(generation: Optional[int] = ...) -> List[Any]: ...
22else:
23    def get_objects() -> List[Any]: ...
24def get_referents(*objs: Any) -> List[Any]: ...
25def get_referrers(*objs: Any) -> List[Any]: ...
26def get_stats() -> List[Dict[str, Any]]: ...
27def get_threshold() -> Tuple[int, int, int]: ...
28def is_tracked(obj: Any) -> bool: ...
29def isenabled() -> bool: ...
30def set_debug(flags: int) -> None: ...
31def set_threshold(threshold0: int, threshold1: int = ...,
32                  threshold2: int = ...) -> None: ...
33