// Generated by Lisette bindgen
// Source: crypto/sha256 (Go stdlib)
// Go: 1.25.5
// Lisette: 0.1.11

import "go:hash"

/// New returns a new [hash.Hash] computing the SHA256 checksum. The Hash
/// also implements [encoding.BinaryMarshaler], [encoding.BinaryAppender] and
/// [encoding.BinaryUnmarshaler] to marshal and unmarshal the internal
/// state of the hash.
pub fn New() -> hash.Hash

/// New224 returns a new [hash.Hash] computing the SHA224 checksum. The Hash
/// also implements [encoding.BinaryMarshaler], [encoding.BinaryAppender] and
/// [encoding.BinaryUnmarshaler] to marshal and unmarshal the internal
/// state of the hash.
pub fn New224() -> hash.Hash

/// Sum224 returns the SHA224 checksum of the data.
#[go(array_return)]
pub fn Sum224(data: Slice<uint8>) -> Slice<uint8>

/// Sum256 returns the SHA256 checksum of the data.
#[go(array_return)]
pub fn Sum256(data: Slice<uint8>) -> Slice<uint8>

/// The blocksize of SHA256 and SHA224 in bytes.
const BlockSize = 64

/// The size of a SHA256 checksum in bytes.
const Size = 32

/// The size of a SHA224 checksum in bytes.
const Size224 = 28
