# DO NOT EDIT - AUTOMATICALLY GENERATED BY tests/make_test_stubs.py!
from typing import List
from pandas.core.frame import DataFrame
from typing import (
    List,
    Optional,
    Tuple,
    Union,
)


def Brokaw(
    T: float,
    ys: List[float],
    mus: List[float],
    MWs: List[float],
    molecular_diameters: List[float],
    Stockmayers: List[int]
) -> float: ...


def Gharagheizi_gas_viscosity(T: float, Tc: float, Pc: float, MW: float) -> float: ...


def Herning_Zipperer(
    zs: List[float],
    mus: List[float],
    MWs: Optional[Union[List[int], List[float]]],
    MW_roots: Optional[List[float]] = ...
) -> float: ...


def Letsou_Stiel(T: float, MW: float, Tc: float, Pc: float, omega: float) -> float: ...


def Lorentz_Bray_Clarke(
    T: float,
    P: float,
    Vm: float,
    zs: List[float],
    MWs: List[float],
    Tcs: List[float],
    Pcs: List[float],
    Vcs: List[float]
) -> float: ...


def Lucas(T: float, P: float, Tc: float, Pc: float, omega: float, P_sat: float, mu_l: float) -> float: ...


def Lucas_gas(
    T: float,
    Tc: float,
    Pc: float,
    Zc: float,
    MW: float,
    dipole: Optional[float] = ...,
    CASRN: Optional[str] = ...
) -> float: ...


def Przedziecki_Sridhar(
    T: float,
    Tm: float,
    Tc: float,
    Pc: float,
    Vc: float,
    Vm: float,
    omega: float,
    MW: float
) -> float: ...


def Saybolt_universal_eq(nu: float) -> float: ...


def Stiel_Thodos(T: float, Tc: float, Pc: float, MW: float) -> float: ...


def Twu_1985(T: float, Tb: float, rho: float) -> float: ...


def Twu_1985_internal(T: float, Tb: float, SG: float) -> float: ...


def Viswanath_Natarajan_2(T: float, A: float, B: float) -> float: ...


def Viswanath_Natarajan_2_exponential(T: float, C: int, D: float) -> float: ...


def Viswanath_Natarajan_3(T: float, A: float, B: float, C: float) -> float: ...


def Wilke(ys: List[float], mus: List[float], MWs: List[float]) -> float: ...


def Wilke_large(ys: List[float], mus: List[float], MWs: List[float]) -> float: ...


def Wilke_prefactored(
    ys: List[float],
    mus: List[float],
    t0s: List[List[float]],
    t1s: List[List[float]],
    t2s: List[List[float]]
) -> float: ...


def Wilke_prefactors(MWs: List[float]) -> Tuple[List[List[float]], List[List[float]], List[List[float]]]: ...


def Yoon_Thodos(T: float, Tc: float, Pc: float, MW: float) -> float: ...


def __getattr__(name: str) -> DataFrame: ...


def _create_viscosity_converters() -> None: ...


def _load_mu_data() -> None: ...


def _round_whole_even(i: float) -> int: ...


def mu_IAPWS(
    T: float,
    rho: float,
    drho_dP: Optional[float] = ...,
    drho_dP_Tr: Optional[float] = ...
) -> float: ...


def viscosity_converter(val: float, old_scale: str, new_scale: str, extrapolate: bool = ...) -> float: ...


def viscosity_index(nu_40: float, nu_100: float, rounding: bool = ...) -> Optional[float]: ...

__all__: List[str]