import { _fontTables } from './font-tables';
import { _PdfCrossReference, _PdfDictionary, PdfFontStyle } from '@syncfusion/ej2-pdf';
export declare class _FontStructure {
    _ascent: number;
    _boundingBox: number[];
    _characterMap: any;
    _fontStyle: PdfFontStyle;
    _builtInEncoding: any;
    _fallBackToUnicodeMap: any;
    _capHeight: number;
    _encoding: string;
    _composite: boolean;
    _cssFontInfo: any;
    _data: Uint8Array[];
    _defaultEncoding: any[];
    _defaultWidth: number;
    _descent: number;
    _differences: any[];
    _disableFontFace: boolean;
    _characterSystemInfo: any;
    _fontMatrix: number[];
    _charsCache: any;
    _glyphCache: any;
    _widths: number[];
    _vertical: boolean;
    _type: string;
    _toUnicode: any;
    _toFontChar: any;
    _isSerifFont: boolean;
    _isSymbolicFont: boolean;
    _isType3Font: boolean;
    _isInternalFont: boolean;
    _lineHeight: number;
    _mimeType: any;
    _missingFile: boolean;
    _name: string;
    _flags: number;
    _psName: string;
    _subtype: string;
    _systemFontInfo: any;
    _dictionary: _PdfDictionary;
    _crossReference: _PdfCrossReference;
    _isOpenType: boolean;
    _lineGap: any;
    _bold: any;
    _italic: any;
    _black: any;
    _length1: number;
    _length2: number;
    _length3: number;
    constructor();
    constructor(dictionary: _PdfDictionary, crossReference: _PdfCrossReference);
    _initialize(): void;
    _charsToGlyphs(chars: string): _Glyph[];
}
export declare class _FontHelper {
    _fontStructure: _FontStructure;
    _scaleFactors: any;
    _hasIncludedToUnicodeMap: boolean;
    _crossReference: _PdfCrossReference;
    _firstChar: number;
    _lastChar: number;
    _table: _fontTables;
    _remeasure: any;
    _standardCharacter: any;
    _data: any;
    _flags: number;
    _vertical: boolean;
    _file: any;
    _fileType: string;
    _fileSubtype: string;
    _italicAngle: number;
    _xHeight: number;
    _baseEncodingName: any;
    _fontIdentityMatrix: number[];
    _fallBackToUnicodeMap: any;
    _characterIdToGlyphMap: any;
    _hasEncoding: any;
    _isOpenType: boolean;
    _standardFontDataCache: Map<any, any>;
    _fontFlags: any;
    _validTables: any;
    _ttOpsStackDeltas: number[];
    constructor(fontStructure: _FontStructure, crossReference: _PdfCrossReference);
    _preEvaluateFont(dictionary: _PdfDictionary): any;
    _getFontStyle(dictionary: _PdfDictionary): PdfFontStyle;
    _translateFont(descriptor: any, dictionary: any, baseDictionary: any, firstChar: number, lastChar: number, unicode: any): any;
    _buildCharCodeToWidth(widthsByGlyphName: any): any;
    _fetchStandardFontData(name: string): any;
    _setFontData(): any;
    _isTrueTypeFile(file: any): boolean;
    _readUnsignedInt32(data: any, offset: any): any;
    _isOpenTypeFile(file: any): boolean;
    _isType1File(file: any): boolean;
    _isCompactFontFile(file: any): boolean;
    _getFontFileType(): void;
    _extractWidths(descriptor: _PdfDictionary, flags: number, firstChar: number, dictionary: _PdfDictionary): void;
    _normalizeRect(rect: number[]): number[];
    private _isNumberArray;
    _lookupMatrix(arr: any, fallBack: number[]): any;
    _lookupRect(arr: any, fallBack: number[]): any;
    _lookupNormalRect(arr: any, fallBack: number[]): any;
    _extractDataStructures(dictionary: _PdfDictionary, unicode?: any): void;
    _stringToPdfString(text: any): any;
    _readToUnicode(cmapObj: any): any;
    _buildToUnicode(baseEncodingName: any, isEncoding: boolean, toUnicode: any): any;
    _simpleFontToUnicode(baseEncodingName: any, forceGlyphs?: boolean): void;
    _string32(value: any): string;
    _buildToFontChar(encoding: any, glyphsUnicodeMap: any, differences: any): any;
    _getUnicodeForGlyph(name: any, glyphsUnicodeMap: any): any;
    _writeUnSignedInt32(bytes: number[], index: number, value: number): void;
    _stringToBytes(value: any): Uint8Array;
    _writeSignedInt16(bytes: number[], index: number, value: number): void;
    _signedInt16(b0: number, b1: number): number;
    _isSerifFont(baseFontName: string): boolean;
    _adjustWidths(): any;
    _getBaseFontMetrics(name: string): any;
    _getMetrics(): any;
    _getStandardFontName(name: string): any;
    _normalizeFontName(name: string): string;
    _amendFallBackToUnicodeMap(properties: any): void;
    _applyStandardFontGlyphMap(map: any, glyphMap: any): any;
    _setFallBackSystemFont(properties: any): any;
    readonly _spaceWidth: number;
    _charToGlyph(charCode: any, isSpace?: boolean): _Glyph;
    _convertCidString(characterCode: any, characterIdentifier: any, shouldThrow?: boolean): any;
    _isTrueTypeCollectionFile(file: any): boolean;
    _readTrueTypeCollectionHeader(data: any): any;
    _getString(length: number, file: any): string;
    _readOpenTypeHeader(ttf: any): {
        version: string;
        numTables: any;
        searchRange: any;
        entrySelector: any;
        rangeShift: any;
    };
    _readTables(file: any, numberOfTables: any): any;
    _readTableEntry(file: any): {
        tag: string;
        checksum: number;
        length: number;
        offset: number;
        data: any;
    };
    _isMacNameRecord(r: any): boolean;
    _isWinNameRecord(r: any): boolean;
    _readNameTable(nameTable: any, font: any): any[];
    _readTrueTypeCollectionData(data: any, fontName: any, font: any): {
        header: any;
        tables: any;
    };
    _int16(b0: any, b1: any): any;
    _checkAndRepair(font: any): void;
    _adjustType1ToUnicode(): void;
    _adjustTrueTypeToUnicode(properties: any, isSymbolicFont: any, nameRecords: any): void;
}
export declare class _Glyph {
    _unicode: string;
    _accent: number;
    _width: number;
    _fontCharacter: string;
    _verticalMetrics: any;
    _isSpace: boolean;
    _isInFont: boolean;
    constructor(unicode: string, accent: any, width: number, _verticalMetrics: any, //eslint-disable-line
    isSpace: boolean, isInFont: boolean);
}
