from datetime import datetime

class NextFullMoon:
    SYNMONTH: float
    def __init__(self) -> None: ...
    @property
    def counter(self) -> int: ...
    def reset(self) -> None: ...
    def reset_counter(self) -> None: ...
    def set_origin_now(self) -> None: ...
    def set_origin_timestamp(self, ts: int) -> None: ...
    def set_origin_datetime(self, datetime: datetime) -> None: ...
    def set_origin_date_string(self, datestring: str, format: str = '%Y-%m-%d') -> None: ...
    def next_full_moon(self, prevent_update: bool = False) -> datetime: ...
    def moon_phase(self, time: int, phase: float, second: bool = False) -> float: ...
    def time_2k_1_k2(self, time: int) -> tuple[float, float, float]: ...
    def julian_time(self, time: int) -> float: ...
    def julian_date(self, td: float) -> float: ...
    def mean_phase(self, start_date: float, k: int) -> float: ...
    def dsin(self, angle: float) -> float: ...
    def dcos(self, angle: float) -> float: ...
    def to_radian(self, degrees: float) -> float: ...
    def true_phase(self, k: int, phase: float) -> float: ...
    def julian_day_to_seconds(self, julian_day: float) -> float: ...
