import enum
from _typeshed import Incomplete
from typing import Callable, Iterator

__all__ = ['ThreadPoolStatus', 'n_ThreadPool']

class ThreadPoolStatus(enum.Enum):
    unstarted = 0
    running = 1
    finished = 2
    terminated = 3

class n_ThreadPool:
    max_workers: Incomplete
    daemon: Incomplete
    status: Incomplete
    task_count: int
    task_finished_count: int
    task_unfinished_count: int
    def __init__(self, max_workers: int = 5, daemon: bool = False) -> None: ...
    def setGroupExecInterval(self, group: int, time_interval: float): ...
    def put(self, func: Callable, *args, **kwargs): ...
    def start(self) -> None: ...
    def startAndWait(self) -> list[any]: ...
    def map(self, func: Callable, *iterables, timeout: float | None = None) -> Iterator: ...
    def clear(self) -> None: ...
    def stopAnyWay(self) -> None: ...
    def __enter__(self): ...
    def __exit__(self, exc_type: type[BaseException] | None, exc_val: BaseException | None, exc_tb: types.TracebackType | None): ...
