import { _PdfColorSpaceUtils } from './colorspace-utils';
export declare class _PdfJpegImage {
    _dctZigZag: Uint8Array;
    _dctCos1: number;
    _dctSin1: number;
    _dctCos3: number;
    _dctSin3: number;
    _dctCos6: number;
    _dctSin6: number;
    _dctSqrt2: number;
    _dctSqrt: number;
    _eobrun: number;
    _spectralStart: number;
    _spectralEnd: number;
    _blockOffset: number;
    _successiveACState: number;
    _successiveACNextValue: number;
    _blockRow: number;
    _decodeTransform: unknown;
    _colorTransform: number;
    _width: number;
    _height: number;
    _bitsCount: number;
    _data: any;
    _offset: number;
    _frame: any;
    _parseMarker: boolean;
    _bitsData: any;
    _jfif: any;
    _adobe: any;
    _components: any;
    _numComponents: number;
    _colorSpace: _PdfColorSpaceUtils;
    constructor();
    _canUseImageDecoder(data: Uint8Array, colorTransform?: number): any;
    parse(data: Uint8Array, dnlScanLines?: number): void;
    private _getLinearizedBlockData;
    private readonly _isColorConversionNeeded;
    private _convertYccToRgb;
    private _convertYccToRgba;
    private _convertYcckToRgb;
    private _convertYcckToRgba;
    private _convertYcckToCmyk;
    private _convertCmykToRgb;
    private _convertCmykToRgba;
    _buildHuffmanTable(codeLengths: number[], values: number[]): any;
    _getBlockBufferOffset(component: {
        blocksPerLine: number;
    }, row: number, col: number): number;
    _quantizeAndInverse(component: {
        quantizationTable: number[];
        blockData: Int16Array;
    }, blockBufferOffset: number, p: Int16Array): void;
    _buildComponentData(frame: {
        blocksPerLine: number;
        blocksPerColumn: number;
        blockData: Int8Array;
    }, component: any): Int8Array;
    _findNextFileMarker(data: Uint8Array, currentPos: number, startPos?: number): {
        invalid: string | null;
        marker: number;
        offset: number;
    } | null;
    _prepareComponents(frame: any): void;
    _readDataBlock(data: Uint8Array, offset: number): {
        appData: Uint8Array;
        oldOffset: number;
        newOffset: number;
    };
    _skipData(data: Uint8Array, offset: number): number;
    _getData(width: number, height: number, forceRgba: boolean, forceRgb: boolean, isSourcePdf: boolean): Uint8ClampedArray | Uint8Array;
    _decodeHuffman(tree: any): number;
    _receive(length: number): number;
    _receiveAndExtend(length: number): number;
    _decodeBaseline(component: any, blockOffset: number): any;
    _decodeDCFirst(component: {
        huffmanTableDC: any;
        blockData: number[];
        pred: number;
    }, blockOffset: number, successive: any): any;
    _decodeDCSuccessive(component: {
        blockData: number[];
    }, blockOffset: number, successive: any): void;
    _decodeACFirst(component: {
        huffmanTableAC: any;
        blockData: number[];
    }, blockOffset: number, successive: any): any;
    _decodeMcu(component: any, decode: (component: any, blockOffset: number) => void, mcu: number, row: number, col: number, mcusPerLine: any): void;
    _decodeBlock(component: {
        blocksPerLine: number;
    }, _decode: (component: any, blockOffset: number) => void, mcu: number): void;
    _decodeACSuccessive(component: {
        blockData: number[];
        huffmanTableAC: any;
    }, blockOffset: number, successive: any): void;
    _decodeScan(data: Uint8Array, offset: number, frame: any, components: any, resetInterval: any, // eslint-disable-line
    spectralStart: number, spectralEnd: number, successivePrev: any, successive: any, // eslint-disable-line
    parseMarker?: boolean): number;
    _readBit(): number;
}
