import threading
from kombu.asynchronous.timer import Entry as Entry, Timer as Schedule, to_timestamp as to_timestamp
from typing import Any, Optional

class Timer(threading.Thread):
    Entry: Any = ...
    Schedule: Any = ...
    running: bool = ...
    on_tick: Any = ...
    def start(self, *args: Any, **kwargs: Any) -> None: ...
    schedule: Any = ...
    on_start: Any = ...
    mutex: Any = ...
    not_empty: Any = ...
    daemon: bool = ...
    name: Any = ...
    def __init__(self, schedule: Optional[Any] = ..., on_error: Optional[Any] = ..., on_tick: Optional[Any] = ..., on_start: Optional[Any] = ..., max_interval: Optional[Any] = ..., **kwargs: Any) -> None: ...
    __next__: Any = ...
    next: Any = ...
    scheduler: Any = ...
    def run(self) -> None: ...
    def stop(self) -> None: ...
    def ensure_started(self) -> None: ...
    def enter(self, entry: Any, eta: Any, priority: Optional[Any] = ...): ...
    def call_at(self, *args: Any, **kwargs: Any): ...
    def enter_after(self, *args: Any, **kwargs: Any): ...
    def call_after(self, *args: Any, **kwargs: Any): ...
    def call_repeatedly(self, *args: Any, **kwargs: Any): ...
    def exit_after(self, secs: Any, priority: int = ...) -> None: ...
    def cancel(self, tref: Any) -> None: ...
    def clear(self) -> None: ...
    def empty(self): ...
    def __len__(self): ...
    def __bool__(self): ...
    __nonzero__: Any = ...
    @property
    def queue(self): ...
