from _typeshed import Incomplete
from typing import NamedTuple

EXP_TABLE: Incomplete
LOG_TABLE: Incomplete
RS_BLOCK_OFFSET: Incomplete
RS_BLOCK_TABLE: Incomplete

def glog(n): ...
def gexp(n): ...

class Polynomial:
    num: Incomplete
    def __init__(self, num, shift) -> None: ...
    def __getitem__(self, index): ...
    def __iter__(self): ...
    def __len__(self) -> int: ...
    def __mul__(self, other): ...
    def __mod__(self, other): ...

class RSBlock(NamedTuple):
    total_count: int
    data_count: int

def rs_blocks(version, error_correction): ...
