/** * QR Code encoder from ISO/IEC 18004: byte mode only (UTF-8), versions 1–40, all four error-correction levels. * * @module */ /** Error-correction level, in ascending order of redundancy: `L` ≈ 7%, `M` ≈ 15%, `Q` ≈ 25%, `H` ≈ 30%. */ export type ErrorCorrectionLevel = 'L' | 'M' | 'Q' | 'H'; export declare const MIN_VERSION = 1; export declare const MAX_VERSION = 40; /** Module count along one edge for `version`: `4 × version + 17`, so 21 at v1 and 177 at v40. */ export declare function moduleCount(version: number): number; /** Total codewords (data + EC) a version holds, independent of level. */ export declare function totalCodewords(version: number): number; /** Bits available for the data segment (mode indicator, character count, payload, padding) at this version and level. */ export declare function dataCapacityBits(version: number, level: ErrorCorrectionLevel): number; /** Centre coordinates of alignment patterns for `version`, ascending, per ISO/IEC 18004 Table E.1. */ export declare function alignmentPatternPositions(version: number): number[]; /** Reed–Solomon generator polynomial `(x − α^0)(x − α^1)…(x − α^(degree−1))`, returned monic-implicit (leading 1 omitted). */ export declare function reedSolomonGeneratorPoly(degree: number): Uint8Array; /** 15-bit format-information word: BCH(15, 5) over `level | mask`, XOR-masked to avoid all-zero output. */ export declare function formatInfoBits(level: ErrorCorrectionLevel, mask: number): number; /** 18-bit version-information word: BCH(18, 6), used only for version 7 and up. */ export declare function versionInfoBits(version: number): number; /** * Encodes `value` as a QR Code matrix. * * @param value - The payload, encoded as UTF-8 bytes (byte mode). * @param level - Error-correction level. Use `'H'` whenever a logo covers the centre. * @param version - Force a symbol version 1–40. Omit to pick the smallest that fits. * @returns A square `boolean[][]` indexed `[row][column]`, `true` meaning a dark * module — or `null` when the payload exceeds capacity or `version` is invalid. Never throws. */ export declare function encodeQr(value: string, level: ErrorCorrectionLevel, version?: number): boolean[][] | null;