import { ErrorCorrectLevel } from './ErrorCorrectLevel';
import { QRData } from './QRData';
export declare class QRCode {
    private static PAD0;
    private static PAD1;
    private typeNumber;
    private errorCorrectLevel;
    private qrDataList;
    private modules;
    private moduleCount;
    constructor();
    getTypeNumber(): number;
    setTypeNumber(typeNumber: number): void;
    getErrorCorrectLevel(): ErrorCorrectLevel;
    setErrorCorrectLevel(errorCorrectLevel: ErrorCorrectLevel): void;
    clearData(): void;
    addData(qrData: QRData | string): void;
    private getDataCount();
    private getData(index);
    isDark(row: number, col: number): boolean;
    getModuleCount(): number;
    make(): void;
    private getBestMaskPattern();
    private makeImpl(test, maskPattern);
    private mapData(data, maskPattern);
    private setupPositionAdjustPattern();
    private setupPositionProbePattern(row, col);
    private setupTimingPattern();
    private setupTypeNumber(test);
    private setupTypeInfo(test, maskPattern);
    static createData(typeNumber: number, errorCorrectLevel: ErrorCorrectLevel, dataArray: QRData[]): number[];
    private static createBytes(buffer, rsBlocks);
    toDataURL(cellSize?: number, margin?: number): string;
    static stringToBytes: (s: string) => number[];
}
