class Alphabet:
    BITCOIN: "Alphabet"
    MONERO: "Alphabet"
    RIPPLE: "Alphabet"
    FLICKR: "Alphabet"
    DEFAULT: "Alphabet"
    def __init__(self, base: bytes) -> None: ...
    def __repr__(self) -> str: ...

def b58decode(val: bytes, alphabet: Alphabet = Alphabet.BITCOIN) -> bytes: ...
def b58encode(val: bytes, alphabet: Alphabet = Alphabet.BITCOIN) -> bytes: ...
def b58decode_check(
    val: bytes, alphabet: Alphabet = Alphabet.BITCOIN, expected_ver: int = None
) -> bytes: ...
def b58encode_check(
    val: bytes, alphabet: Alphabet = Alphabet.BITCOIN, expected_ver: int = None
) -> bytes: ...
