# type: ignore
from py_ballisticcalc.conditions import Shot
from py_ballisticcalc.drag_model import DragDataPoint
from py_ballisticcalc.unit import Angular, Distance
from py_ballisticcalc.trajectory_calc import Config
from py_ballisticcalc.trajectory_data import TrajectoryData

__all__ = ['EulerTrajectoryCalc']

class EulerTrajectoryCalc:
    def __init__(self, _config: Config) -> None: ...
    @property
    def table_data(self) -> list[DragDataPoint]: ...
    def get_calc_step(self, step: float = 0) -> float: ...
    def trajectory(self, shot_info: Shot, max_range: Distance, dist_step: Distance, extra_data: bool = False, time_step: float = 0.0) -> list[TrajectoryData]: ...
    def zero_angle(self, shot_info: Shot, distance: Distance, time_step: float = 0.0) -> Angular: ...
