from typing import Any, Literal, Self
from sympy.core.expr import Expr

class Prefix(Expr):
    _op_priority = ...
    is_commutative = ...
    def __new__(cls, name, abbrev, exponent, base=..., latex_repr=...) -> Self:
        ...
    
    @property
    def name(self):
        ...
    
    @property
    def abbrev(self):
        ...
    
    @property
    def scale_factor(self):
        ...
    
    @property
    def base(self):
        ...
    
    def __str__(self) -> str:
        ...
    
    def __repr__(self) -> str:
        ...
    
    def __mul__(self, other) -> Prefix | Literal[1]:
        ...
    
    def __truediv__(self, other) -> Prefix | Literal[1]:
        ...
    
    def __rtruediv__(self, other) -> Prefix:
        ...
    


def prefix_unit(unit, prefixes) -> list[Any]:
    ...

yotta = ...
zetta = ...
exa = ...
peta = ...
tera = ...
giga = ...
mega = ...
kilo = ...
hecto = ...
deca = ...
deci = ...
centi = ...
milli = ...
micro = ...
nano = ...
pico = ...
femto = ...
atto = ...
zepto = ...
yocto = ...
PREFIXES = ...
kibi = ...
mebi = ...
gibi = ...
tebi = ...
pebi = ...
exbi = ...
BIN_PREFIXES = ...
