/** * Output format for 128-bit hash functions */ type HashOutput = 'hex' | 'bigint'; /** * Options for 128-bit hash functions */ interface Hash128Options { /** Seed value (default: 0) */ seed?: number; /** Output format (default: 'hex') */ output?: HashOutput; } /** * Input type for hash functions */ type HashInput = string | Uint8Array; /** * Compute MurmurHash3 x86 32-bit hash. */ declare function hash32(input: HashInput, seed?: number): number; /** Streaming hasher. Note: data is buffered until digest(), not processed incrementally. */ declare class Hash32Stream { private chunks; private totalLength; private readonly seed; constructor(seed?: number); update(input: HashInput): this; digest(): number; } /** * Create a streaming hasher for MurmurHash3 x86 32-bit. */ declare function createHash32(seed?: number): Hash32Stream; /** * Compute MurmurHash3 x86 128-bit hash. */ declare function hash128(input: HashInput, options?: Hash128Options): string | bigint; /** Streaming hasher. Note: data is buffered until digest(), not processed incrementally. */ declare class Hash128Stream { private chunks; private totalLength; private readonly seed; private readonly outputFormat; constructor(options?: Hash128Options); update(input: HashInput): this; digest(): string | bigint; } /** * Create a streaming hasher for MurmurHash3 x86 128-bit. */ declare function createHash128(options?: Hash128Options): Hash128Stream; /** * Compute MurmurHash3 x64 128-bit hash. */ declare function hash128x64(input: HashInput, options?: Hash128Options): string | bigint; /** Streaming hasher. Note: data is buffered until digest(), not processed incrementally. */ declare class Hash128x64Stream { private chunks; private totalLength; private readonly seed; private readonly outputFormat; constructor(options?: Hash128Options); update(input: HashInput): this; digest(): string | bigint; } /** * Create a streaming hasher for MurmurHash3 x64 128-bit. */ declare function createHash128x64(options?: Hash128Options): Hash128x64Stream; /** * v1 compatibility layer (deprecated) * * @deprecated Use hash32(), hash128(), hash128x64() instead */ declare const v3: { x86: { hash32(key: string, seed?: number): number; hash128(key: string, seed?: number): string; }; x64: { hash128(key: string, seed?: number): string; }; }; export { type Hash128Options, Hash128Stream, Hash128x64Stream, Hash32Stream, type HashInput, type HashOutput, createHash128, createHash128x64, createHash32, hash128, hash128x64, hash32, v3 };