import { ErrorCorrectionLevel, Mode, QRCode as IQRCode } from './types';
export declare class QRBitBuffer {
    private _buffer;
    private _length;
    getBuffer(): number[];
    getAt(index: number): boolean;
    put(num: number, length: number): void;
    getLengthInBits(): number;
    putBit(bit: boolean): void;
}
export declare class QRCode implements IQRCode {
    private _typeNumber;
    private _errorCorrectionLevel;
    private _modules;
    private _moduleCount;
    private _dataCache;
    private _dataList;
    constructor(typeNumber: number, errorCorrectionLevel: ErrorCorrectionLevel);
    addData(data: string, mode?: Mode): void;
    make(): void;
    private makeImpl;
    private setupPositionProbePattern;
    private setupPositionAdjustPattern;
    private setupTimingPattern;
    private setupTypeInfo;
    private setupTypeNumber;
    private getBestMaskPattern;
    private createData;
    private createBytes;
    private mapData;
    isDark(row: number, col: number): boolean;
    getModuleCount(): number;
    renderTo2dContext(context: CanvasRenderingContext2D, cellSize?: number): void;
    createTableTag(cellSize?: number, margin?: number): string;
    createSvgTag(cellSize?: number, margin?: number): string;
    createDataURL(cellSize?: number, margin?: number): string;
    createImgTag(cellSize?: number, margin?: number, alt?: string): string;
    createASCII(cellSize?: number, margin?: number): string;
    private _createHalfASCII;
}
