import { _PdfNativeAccumulatorSink, _PdfNativeHashInput } from '../digital-signature/signature/pdf-accumulator';
/**
 * Message digest implementation used internally for signature evaluation.
 *
 * @private
 */
export declare class _RaceEvaluationMessageDigest {
    /**
     * Create a chunked conversion sink for incremental hashing.
     *
     * @private
     * @param {_PdfNativeAccumulatorSink} outputSink - Sink to receive accumulator output.
     * @returns {_PdfNativeHashInput} A `_PdfNativeHashInput` for chunked input.
     */
    _startChunkedConversion(outputSink: _PdfNativeAccumulatorSink): _PdfNativeHashInput;
    /**
     * Internal 64-byte block buffer.
     */
    private _block;
    /**
     * Internal state word A.
     */
    private _a;
    /**
     * Internal state word B.
     */
    private _b;
    /**
     * Internal state word C.
     */
    private _c;
    /**
     * Internal state word D.
     */
    private _d;
    /**
     * Internal state word E.
     */
    private _e;
    /**
     * Rotate a 32-bit value left by `n` bits.
     *
     * @private
     * @param {number} x - Value to rotate.
     * @param {number} n - Number of bits to rotate.
     * @returns {number} The rotated value.
     */
    _rotateLeft(x: number, n: number): number;
    /**
     * Round function 1 used internally by the digest.
     *
     * @private
     * @param {number} a - Working state `a`.
     * @param {number} b - Working state `b`.
     * @param {number} c - Working state `c`.
     * @param {number} d - Working state `d`.
     * @param {number} e - Working state `e`.
     * @param {number} m - Message word.
     * @param {number} k - Round constant.
     * @param {number} s - Left-rotation amount.
     * @returns {number} Updated accumulator value.
     */
    _fn1(a: number, b: number, c: number, d: number, e: number, m: number, k: number, s: number): number;
    /**
     * Round function 2 used internally by the digest.
     *
     * @private
     * @param {number} a - Working state `a`.
     * @param {number} b - Working state `b`.
     * @param {number} c - Working state `c`.
     * @param {number} d - Working state `d`.
     * @param {number} e - Working state `e`.
     * @param {number} m - Message word.
     * @param {number} k - Round constant.
     * @param {number} s - Left-rotation amount.
     * @returns {number} Updated accumulator value.
     */
    _fn2(a: number, b: number, c: number, d: number, e: number, m: number, k: number, s: number): number;
    /**
     * Round function 3 used internally by the digest.
     *
     * @private
     * @param {number} a - Working state `a`.
     * @param {number} b - Working state `b`.
     * @param {number} c - Working state `c`.
     * @param {number} d - Working state `d`.
     * @param {number} e - Working state `e`.
     * @param {number} m - Message word.
     * @param {number} k - Round constant.
     * @param {number} s - Left-rotation amount.
     * @returns {number} Updated accumulator value.
     */
    _fn3(a: number, b: number, c: number, d: number, e: number, m: number, k: number, s: number): number;
    /**
     * Round function 4 used internally by the digest.
     *
     * @private
     * @param {number} a - Working state `a`.
     * @param {number} b - Working state `b`.
     * @param {number} c - Working state `c`.
     * @param {number} d - Working state `d`.
     * @param {number} e - Working state `e`.
     * @param {number} m - Message word.
     * @param {number} k - Round constant.
     * @param {number} s - Left-rotation amount.
     * @returns {number} Updated accumulator value.
     */
    _fn4(a: number, b: number, c: number, d: number, e: number, m: number, k: number, s: number): number;
    /**
     * Round function 5 used internally by the digest.
     *
     * @private
     * @param {number} a - Working state `a`.
     * @param {number} b - Working state `b`.
     * @param {number} c - Working state `c`.
     * @param {number} d - Working state `d`.
     * @param {number} e - Working state `e`.
     * @param {number} m - Message word.
     * @param {number} k - Round constant.
     * @param {number} s - Left-rotation amount.
     * @returns {number} Updated accumulator value.
     */
    _fn5(a: number, b: number, c: number, d: number, e: number, m: number, k: number, s: number): number;
    /**
     * Read a 32-bit little-endian integer from the buffer.
     *
     * @private
     * @param {Uint8Array} buffer - Source buffer.
     * @param {number} offset - Offset into buffer (in bytes).
     * @returns {number} The 32-bit signed integer.
     */
    _readInt32LE(buffer: Uint8Array, offset: number): number;
    /**
     * Write an unsigned 32-bit little-endian integer to the buffer.
     *
     * @private
     * @param {Uint8Array} buffer - Destination buffer.
     * @param {number} value - Value to write.
     * @param {number} offset - Offset into buffer (in bytes).
     * @returns {number} The new offset (offset + 4).
     */
    _writeUInt32LE(buffer: Uint8Array, value: number, offset: number): number;
    /**
     * Write a signed 32-bit little-endian integer to the buffer.
     *
     * @private
     * @param {Uint8Array} buffer - Destination buffer.
     * @param {number} value - Value to write.
     * @param {number} offset - Offset into buffer (in bytes).
     * @returns {number} The new offset (offset + 4).
     */
    _writeInt32LE(buffer: Uint8Array, value: number, offset: number): number;
    /**
     * Process the current 64-byte block and update internal state.
     *
     * @private
     * @returns {void}
     */
    private _update;
    /**
     * Compute the message digest over the given input bytes.
     *
     * @private
     * @param {Uint8Array} data - Input bytes.
     * @param {number} offset - Start offset in `data`.
     * @param {number} length - End offset (exclusive) in `data`.
     * @returns {Uint8Array} The 20-byte digest as `Uint8Array`.
     */
    _hash(data: Uint8Array, offset: number, length: number): Uint8Array;
}
