"""
Auto-generated Python stub file from hashlib.__sha1.py
Module: hashlib.__sha1
"""


import t, c

SHA1_BLOCK_LEN:  t.CDefine = 64
SHA1_DIGEST_LEN: t.CDefine = 20

def sha1_rotl(x: t.CUInt32T, n: t.CInt) -> t.CUInt32T: pass

def sha1_f1(b: t.CUInt32T, c: t.CUInt32T, d: t.CUInt32T) -> t.CUInt32T: pass

def sha1_f2(b: t.CUInt32T, c: t.CUInt32T, d: t.CUInt32T) -> t.CUInt32T: pass

def sha1_f3(b: t.CUInt32T, c: t.CUInt32T, d: t.CUInt32T) -> t.CUInt32T: pass


@t.Object
class sha1:
    state: t.CArray[t.CUInt32T, 5]
    count: t.CUInt64T
    buf: t.CArray[t.CUInt8T, SHA1_BLOCK_LEN]
    def __init__(self: sha1) -> t.CInt: pass
    def transform(self: sha1, block: t.CUInt8T | t.CPtr) -> t.CInt: pass
    def update(self: sha1, s: str) -> t.CInt: pass
    def final(self: sha1, out: t.CArray[t.CUInt8T, SHA1_DIGEST_LEN]) -> t.CInt: pass