from ._optimizer import Optimizer
from nova._typing import SchedulerStateDict

class _LRScheduler:
    optimizer: Optimizer
    last_epoch: int
    base_lrs: list[float]

    def __init__(self, optimizer: Optimizer, last_epoch: int = -1) -> None: ...
    def __getstate__(self) -> SchedulerStateDict: ...
    def __setstate__(self, state: SchedulerStateDict) -> None: ...
    def get_lr(self) -> list[float]: ...
    def step(self) -> None: ...
    def get_last_lr(self) -> list[float]: ...
    def state_dict(self) -> SchedulerStateDict: ...
    def load_state_dict(self, state_dict: SchedulerStateDict) -> None: ...
