/**
 * Get bits at specified index.
 * @param x an int32
 * @param i bit index
 * @param w bit width [1]
 */ export declare function get(x: number, i: number, w?: number): number;
/**
 * Get bits as per mask.
 * @param x an int32
 * @param m bit mask
 */ export declare function getAs(x: number, m: number): number;
/**
 * Set bits at specified index.
 * @param x an int32
 * @param i bit index
 * @param v bit value [1]
 * @param w bit width [1]
 */ export declare function set(x: number, i: number, v?: number, w?: number): number;
/**
 * Set bits as per mask.
 * @param x an int32
 * @param m bit mask
 * @param f bit value [1]
 */ export declare function setAs(x: number, m: number, f?: number): number;
/**
 * Toggle bits at specified index.
 * @param x an int32
 * @param i bit index
 * @param w bit width [1]
 */ export declare function toggle(x: number, i: number, w?: number): number;
/**
 * Toggle bits as per mask.
 * @param x an int32
 * @param m bit mask
 */ export declare function toggleAs(x: number, m: number): number;
/**
 * Swap bit sequences at specified indices.
 * @param x an int32
 * @param i first bit index
 * @param j second bit index
 * @param w bit width [1]
 */ export declare function swap(x: number, i: number, j: number, w?: number): number;
/**
 * Find index of first set bit from LSB.
 * @param x an int32
 */ export declare function scan(x: number): number;
/**
 * Find index of first set bit from MSB.
 * @param x an int32
 */ export declare function scanReverse(x: number): number;
/**
 * Count bits set.
 * @param x an int32
 */ export declare function count(x: number): number;
/**
 * Calculate n-bit parity.
 * @param x an int32
 * @param n number of bits [1]
 */ export declare function parity(x: number, n?: number): number;
/**
 * Rotate bits by a certain amount.
 * @param x an int32
 * @param n rotate amount (+ve: left, -ve: right)
 */ export declare function rotate(x: number, n?: number): number;
/**
 * Reverse all bits.
 * @param x an int32
 */ export declare function reverse(x: number): number;
/**
 * Merge bits as per mask.
 * @param x first int32
 * @param y second int32
 * @param m bit mask (0 ⇒ from x)
 */ export declare function merge(x: number, y: number, m: number): number;
/**
 * Interleave bits of two int16s.
 * @param x first int16
 * @param y second int16
 * @returns int32
 */ export declare function interleave(x: number, y: number): number;
/**
 * Sign extend variable bit-width integer.
 * @param x variable bit-width integer
 * @param w bit width (32)
 */ export declare function signExtend(x: number, w?: number): number;
