/**
 * CRC32 calculation for archive formats
 *
 * Uses IEEE polynomial 0xEDB88320 (same as ZIP, 7z, PNG, gzip, etc.)
 * All bit operations (>>>, ^, &) work correctly in Node 0.8
 *
 * This is the standard CRC-32 algorithm used by:
 * - ZIP/PKZIP
 * - 7-Zip
 * - PNG
 * - gzip
 * - Ethernet
 */
/**
 * Calculate CRC32 of a buffer
 * @param buf - Buffer to calculate CRC32 for
 * @param initial - Optional initial CRC value (for streaming calculation)
 * @returns CRC32 value as unsigned 32-bit integer
 */
export declare function crc32(buf: Buffer, initial?: number): number;
/**
 * Calculate CRC32 of a buffer region
 * @param buf - Buffer containing data
 * @param offset - Start offset in buffer
 * @param length - Number of bytes to process
 * @param initial - Optional initial CRC value
 * @returns CRC32 value as unsigned 32-bit integer
 */
export declare function crc32Region(buf: Buffer, offset: number, length: number, initial?: number): number;
/**
 * Verify CRC32 matches expected value
 * @param buf - Buffer to verify
 * @param expected - Expected CRC32 value
 * @returns true if CRC matches, false otherwise
 */
export declare function verifyCrc32(buf: Buffer, expected: number): boolean;
/**
 * Verify CRC32 of a buffer region matches expected value
 * @param buf - Buffer containing data
 * @param offset - Start offset in buffer
 * @param length - Number of bytes to verify
 * @param expected - Expected CRC32 value
 * @returns true if CRC matches, false otherwise
 */
export declare function verifyCrc32Region(buf: Buffer, offset: number, length: number, expected: number): boolean;
