/*! Copyright 2023-2024 the gnablib contributors MPL-1.1 */ interface DivideResponse { quotient: T; remainder: T; } export declare class ReedSolomonError extends Error { constructor(reason: string); } export type UIntArray = Uint8Array | Uint16Array | Uint32Array; export interface IGf { get primitive(): number; get base(): number; get zero(): GfPoly; get one(): GfPoly; get size(): number; newPoly(coefficients: T): GfPoly; newPolyArr(coefficients: Iterable): GfPoly; newArr(size: number): T; buildMonomial(degree: number, coefficient: number): GfPoly; exp(pos: number): number; log(pos: number): number; inverse(a: number): number; mul(a: number, b: number): number; toString(): string; } interface GfPoly { get coefficients(): T; get degree(): number; get degreeCoefficient(): number; get isZero(): boolean; coefficient(degree: number): number; evalAt(a: number): number; addOrSubtract(other: GfPoly): GfPoly; mulPoly(other: GfPoly): GfPoly; mulScalar(scalar: number): GfPoly; mulMonomial(degree: number, coefficient: number): GfPoly; div(other: GfPoly): DivideResponse>; toString(): string; } export declare function qrCode(): IGf; export declare function dataMatrix(): IGf; export declare function aztecParam(): IGf; export declare function aztecData6(): IGf; export declare function aztecData8(): IGf; export declare function aztecData10(): IGf; export declare function aztecData12(): IGf; export declare function maxicodeField(): IGf; export declare class ReedSolomon { private readonly _field; private readonly _cache; constructor(field: IGf); private _generator; encode(value: T, ecLen: number): void; private _findErrorMagnitudes; private _findErrorLocations; private _runEuclideanAlgorithm; decode(received: T, ecLen: number): void; } export {};