import { _PdfContentStream, _PdfCrossReference, _PdfRecord, PdfColor, PdfDocument, PdfFontStyle, PdfPage, Rectangle } from '@syncfusion/ej2-pdf';
import { TextGlyph, TextLine, TextWord } from './text-structure';
import { _TextProcessingMode } from './enum';
import { PdfRedactor } from './redaction/pdf-redactor';
import { _GraphicState, _TextState } from './graphic-state';
import { _FontStructure } from './text-extraction';
import { _PdfTextParser } from './pdf-text-parser';
import { _PdfShapeParser } from './redaction/shape-parser-helper';
import { _ImageStructure } from './image-extraction/image-structure';
import { PdfEmbeddedImage } from './image-extraction/pdf-embedded-image';
import { PdfRedactionRegion } from './redaction';
export declare class _PdfContentParserHelper {
    _document: PdfDocument;
    _identityMatrix: number[];
    _fontSize: number;
    _width: number;
    _imageInfo: PdfEmbeddedImage[];
    _pt: number;
    _height: number;
    _crossReference: _PdfCrossReference;
    _resultantText: string;
    _textGlyph: TextGlyph[];
    _textWord: TextWord[];
    _textLine: TextLine[];
    _mode: _TextProcessingMode;
    _isContainsRedactionText: boolean;
    _isNotUpdated: boolean;
    _redaction: PdfRedactor;
    _yPosition: number;
    _xPosition: number;
    _parser: _PdfTextParser;
    constructor();
    constructor(mode: _TextProcessingMode);
    constructor(mode: _TextProcessingMode, redaction?: PdfRedactor);
    _getPageRecordCollection(page: PdfPage): _PdfRecord[];
    _processTjOperator(record: _PdfRecord, textState: _TextState, currentFont: _FontStructure, page: PdfPage, fontCollection: Map<string, _FontStructure>): {
        updatedText: string;
        isChangeOperator: boolean;
    } | void;
    _setTextLineCollection(text: string, currentFont: _FontStructure, textState: _TextState, page: PdfPage, extractedText: string): void;
    _processTJOperator(record: _PdfRecord, textState: _TextState, currentFont: _FontStructure, page: PdfPage, fontCollection: Map<string, _FontStructure>): {
        updatedText: string;
        isChangeOperator: boolean;
    };
    _processSingleQuoteOperator(record: _PdfRecord, textState: _TextState, currentFont: _FontStructure, page: PdfPage, fontCollection: Map<string, _FontStructure>): {
        updatedText: string;
        isChangeOperator: boolean;
    } | void;
    _intersect(redaction: Rectangle, imageBounds: Rectangle): boolean;
    _multiply(matrix1: number[], matrix2: number[]): number[];
    _processDoubleQuoteOperator(record: _PdfRecord, textState: _TextState, currentFont: _FontStructure, page: PdfPage, fontCollection: Map<string, _FontStructure>): {
        updatedText: string;
        isChangeOperator: boolean;
    } | void;
    _processRecordCollection(recordCollection: _PdfRecord[], page: PdfPage, fontCollection: Map<string, _FontStructure>, xObjectCollection: Map<string, any>, graphicState: _GraphicState, imageCollection?: Map<string, _ImageStructure>): _PdfContentStream | void | string | TextLine[] | PdfEmbeddedImage[];
    _processImageRecordCollection(recordCollection: _PdfRecord[], page: PdfPage, fontCollection: Map<string, _FontStructure>, xObjectCollection: Map<string, any>, graphicState: _GraphicState, callBack: any, mode?: _TextProcessingMode, options?: PdfRedactionRegion[], isValidCanvas?: boolean): Promise<any>;
    _processPdfRecordCollection(textState: _TextState, index: number, updatedText: string, page: PdfPage, recordCollection: _PdfRecord[], fontCollection: Map<string, _FontStructure>, xObjectCollection: Map<string, any>, // eslint-disable-line
    graphicState: _GraphicState, parser: _PdfShapeParser, red: number, green: number, blue: number, skipUntil: number, stream: _PdfContentStream): any;
    _extractTextElement(elements: string, currentFont: _FontStructure, inputText: string[]): void;
    _getTextElementsFromTjOperator(decodedList: string[], currentFont: _FontStructure, textState: _TextState, page: PdfPage, textGlyphs?: TextGlyph[], inputType?: string[]): any;
    _getTextElementsFromTJOperator(decodedList: string[], currentFont: _FontStructure, textState: _TextState, page: PdfPage, textGlyphs?: TextGlyph[], inputType?: string[]): any;
    _splitWords(glyph: string, tempString: string, fontName: string, fontStyle: PdfFontStyle, page: PdfPage, rotation?: number, textColor?: PdfColor, fontSize?: number, textBounds?: Rectangle, previousRect?: Rectangle): any;
}
