# DO NOT EDIT - AUTOMATICALLY GENERATED BY tests/make_test_stubs.py!
from __future__ import annotations
from typing import List
from typing import (
    List,
    Optional,
    Tuple,
)


def Bankoff(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Baroczy_Chisholm(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Beggs_Brill(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    P: float,
    D: float,
    angle: float,
    roughness: float = ...,
    L: float = ...,
    g: float = ...,
    acceleration: bool = ...
) -> float: ...


def Chen_Friedel(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Chisholm(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...,
    rough_correction: bool = ...
) -> float: ...


def Friedel(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Gronnerud(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Hwang_Kim(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Jung_Radermacher(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Kim_Mudawar(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    L: float = ...
) -> float: ...


def Lockhart_Martinelli(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    L: float = ...,
    Re_c: float = ...
) -> float: ...


def Lombardi_Pedrocchi(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    sigma: float,
    D: float,
    L: float = ...
) -> float: ...


def Mandhane_Gregory_Aziz_regime(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float
) -> Tuple[str, float, float]: ...


def Mishima_Hibiki(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Muller_Steinhagen_Heck(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Taitel_Dukler_regime(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    angle: float,
    roughness: float = ...,
    g: float = ...
) -> Tuple[str, float, float, float, float]: ...


def Theissing(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Tran(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Wang_Chiang_Lu(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Xu_Fang(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Yu_France(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def Zhang_Hibiki_Mishima(
    m: float,
    x: float,
    rhol: float,
    rhog: float,
    mul: float,
    mug: float,
    sigma: float,
    D: float,
    roughness: float = ...,
    L: float = ...,
    flowtype: str = ...
) -> float: ...


def Zhang_Webb(
    m: float,
    x: float,
    rhol: float,
    mul: float,
    P: float,
    Pc: float,
    D: float,
    roughness: float = ...,
    L: float = ...
) -> float: ...


def _Beggs_Brill_holdup(regime: int, lambda_L: float, Fr: float, angle: float, LV: float) -> float: ...


def friction_factor_Kim_Mudawar(Re: float) -> float: ...


def two_phase_dP(
    m: float,
    x: float,
    rhol: float,
    D: float,
    L: float = ...,
    rhog: Optional[float] = ...,
    mul: Optional[float] = ...,
    mug: Optional[float] = ...,
    sigma: Optional[float] = ...,
    P: Optional[float] = ...,
    Pc: Optional[float] = ...,
    roughness: float = ...,
    angle: Optional[float] = ...,
    Method: Optional[str] = ...
) -> float: ...


def two_phase_dP_acceleration(
    m: float,
    D: float,
    xi: float,
    xo: float,
    alpha_i: float,
    alpha_o: float,
    rho_li: float,
    rho_gi: float,
    rho_lo: Optional[float] = ...,
    rho_go: Optional[float] = ...
) -> float: ...


def two_phase_dP_dz_acceleration(
    m: float,
    D: float,
    x: float,
    rhol: float,
    rhog: float,
    dv_dP_l: float,
    dv_dP_g: float,
    dx_dP: float,
    dP_dL: float,
    dA_dL: float
) -> float: ...


def two_phase_dP_dz_gravitational(angle: float, alpha: float, rhol: float, rhog: float, g: float = ...) -> float: ...


def two_phase_dP_gravitational(
    angle: float,
    z: float,
    alpha_i: float,
    rho_li: float,
    rho_gi: float,
    alpha_o: Optional[float] = ...,
    rho_lo: Optional[float] = ...,
    rho_go: Optional[float] = ...,
    g: float = ...
) -> float: ...


def two_phase_dP_methods(
    m: float,
    x: float,
    rhol: float,
    D: float,
    L: float = ...,
    rhog: Optional[float] = ...,
    mul: Optional[float] = ...,
    mug: Optional[float] = ...,
    sigma: Optional[float] = ...,
    P: Optional[float] = ...,
    Pc: Optional[float] = ...,
    roughness: float = ...,
    angle: float = ...,
    check_ranges: bool = ...
) -> List[str]: ...

__all__: List[str]