declare class GenericCrc32 {
    name: string;
    readonly initial: number;
    readonly poly: number;
    readonly refin: boolean;
    readonly refout: boolean;
    readonly tbl: Uint32Array<ArrayBuffer>;
    readonly u32: Uint32Array<ArrayBuffer>;
    readonly xorout: number;
    constructor(opts: {
        name: string;
        poly: number;
        initial: number;
        xorout: number;
        refin: boolean;
        refout: boolean;
    });
    buildPoly(poly: number): void;
    getCrc(buf: Uint8Array): number;
    dumpPoly(space?: number): string;
    exportCrcFn(): string;
    exportTest1(): string;
    exportTest2(): string;
}
declare const crc32: GenericCrc32;
declare const crc32autosar: GenericCrc32;
declare const crc32bzip2: GenericCrc32;
declare const crc32c: GenericCrc32;
declare const crc32cdromedc: GenericCrc32;
declare const crc32d: GenericCrc32;
declare const crc32jamcrc: GenericCrc32;
declare const crc32mef: GenericCrc32;
declare const crc32mpeg2: GenericCrc32;
declare const crc32posix: GenericCrc32;
declare const crc32q: GenericCrc32;
declare const crc32sata: GenericCrc32;
declare const crc32xfer: GenericCrc32;

export { GenericCrc32, crc32, crc32autosar, crc32bzip2, crc32c, crc32cdromedc, crc32d, crc32jamcrc, crc32mef, crc32mpeg2, crc32posix, crc32q, crc32sata, crc32xfer };
