import { Byte, Word, Bit } from "../def"; export declare function makeArray(len: number, valForAll: T): T[]; export declare function makeFalseArray(len: number): Bit[]; export declare function makeTrueArray(len: number): Bit[]; export declare function makeByte0(): Byte; export declare function makeWord0(): Word; export declare function makeHalfWord0(): Word; export declare function bitsToNum(bits: Bit[], signed: boolean): number; export declare function numToBits(num: number): { result?: Bit[]; err?: string; }; export declare function bits5ToRegNum(bits: Bit[], offset: number): number; export declare function bitsAdd(bits1: Word, bits2: Word): { result?: Word; overflow?: boolean; err?: string; }; export declare function bitsAnd(bits1: Word, bits2: Word): { result?: Word; err?: string; }; export declare function bitsOr(bits1: Word, bits2: Word): { result?: Word; err?: string; }; export declare function bitsXor(bits1: Word, bits2: Word): { result?: Word; err?: string; }; export declare function bitsEqual(bits1: Bit[], bits2: Bit[]): { equal?: boolean; err?: string; }; export declare function bitsDiv(bits1: Word, bits2: Word, signed: boolean): { quotient?: Word; remainder?: Word; err?: string; }; export declare function bitsMul(bits1: Word, bits2: Word, signed: boolean): { high?: Word; low?: Word; err?: string; }; export declare function bitsNumFill(bitsOfNum: Bit[], lenToFill: number, signed: boolean): { bits?: Bit[]; err?: string; }; export declare function twosComplement(bits: Bit[]): Bit[]; export declare function bitsFrom01Str(strOf01: string): Bit[]; export declare function bitsTo01Str(bits: Bit[]): string; export declare type Bits4 = [Bit, Bit, Bit, Bit]; export declare function bits4ToHexString(input: Bits4): string; export declare function byteToHexString(input: Byte): string; export declare function wordFromHexStr(hex: string): { bits?: Word; err?: string; }; export declare function bitsFromHexStr(hex: string): { bits?: Bit[]; err?: string; }; export declare function wordToHexString(word: Word): string;