/**
 * Get bit of `num` at position `index`
 * @param num Number
 * @param index Index
 * @returns {number}
 */
export declare const bit: (num: number, index: number) => number;
/**
 * Get bit of reversed endian 32-bit `num` at position `index`
 * @param num Word
 * @param index Index
 * @returns {number}
 */
export declare const bebit: (num: number, index: number) => number;
/**
 * Filter function of Crypto1. Compute one bit of keystream from LFSR bits
 * @param x LFSR bits
 * @returns {number}
 */
export declare const filter: (x: number) => number;
/**
 * Get parity from number
 * @param x Number
 * @returns {number}
 */
export declare const parity: (x: number) => number;
/**
 * Binary search for the first occurence of stop's MSB in sorted
 */
export declare const binsearch: (data: number[], start: number, stop: number) => number;
export declare const quicksort: (data: number[], start: number, stop: number) => void;
/**
 * Helper, calculates the partial linear feedback contributions and puts in MSB
 * @param data Input number
 * @param item Input index
 * @param mask1
 * @param mask2
 * @returns {void}
 */
export declare const update_contribution: (data: number[], item: number, mask1: number, mask2: number) => void;
/**
 * Using a bit of the keystream extend the table of possible lfsr states (complex version)
 * @param data Result table
 * @param tbl Array of even/odd bits of lfsr
 * @param size Size of array
 * @param bit Bit of keystream
 * @param m1 mask1
 * @param m2 mask2
 * @param input Value that was fed into lfsr at time keystream was generated
 * @returns {number}
 */
export declare const extend_table: (data: number[], tbl: number, size: number, bit: number, m1: number, m2: number, input: number) => number;
/**
 * Using a bit of the keystream extend the table of possible lfsr states (simple version)
 * @param tbl Array of even/odd bits of lfsr
 * @param size Size of array
 * @param bit Bit of keystream
 * @returns {number}
 */
export declare const extend_table_simple: (tbl: number[], size: number, bit: number) => number;
export declare const oddByteParity: number[];
/**
 * Return odd parity of unsigned 8-bit `x`
 * @param x Number
 * @returns {number}
 */
export declare const oddParity8: (x: number) => number;
/**
 * Return even parity of unsigned 8-bit `x`
 * @param x Number
 * @returns {number}
 */
export declare const evenParity8: (x: number) => number;
/**
 * Return even parity of unsigned 32-bit `x`
 * @param x Number
 * @returns {number}
 */
export declare const evenParity32: (x: number) => number;
/**
 * Swaps endianness of given number
 * @param x Number to swap
 * @returns {number}
 */
export declare const swapendian: (x: number) => number;
