export class CFF {
    header: any;
    names: any[];
    topDict: any;
    strings: CFFStrings;
    globalSubrIndex: any;
    encoding: any;
    charset: any;
    charStrings: any;
    fdArray: any[];
    fdSelect: any;
    isCIDFont: boolean;
    duplicateFirstGlyph(): void;
    hasGlyphId(id: any): boolean;
}
export class CFFCharset {
    constructor(predefined: any, format: any, charset: any, raw: any);
    predefined: any;
    format: any;
    charset: any;
    raw: any;
}
export class CFFCompiler {
    static get EncodeFloatRegExp(): any;
    constructor(cff: any);
    cff: any;
    compile(): never[];
    encodeNumber(value: any): any[];
    encodeFloat(num: any): number[];
    encodeInteger(value: any): any[];
    compileHeader(header: any): any[];
    compileNameIndex(names: any): number[];
    compileTopDicts(dicts: any, length: any, removeCidKeys: any): {
        trackers: CFFOffsetTracker[];
        output: CFFIndex;
    };
    compilePrivateDicts(dicts: any, trackers: any, output: any): void;
    compileDict(dict: any, offsetTracker: any): any[];
    compileStringIndex(strings: any): number[];
    compileCharStrings(charStrings: any): number[];
    compileCharset(charset: any, numGlyphs: any, strings: any, isCIDFont: any): any[];
    compileEncoding(encoding: any): any[];
    compileFDSelect(fdSelect: any): any[];
    compileTypedArray(data: any): any[];
    compileIndex(index: any, trackers?: any[]): number[];
}
export class CFFFDSelect {
    constructor(format: any, fdSelect: any);
    format: any;
    fdSelect: any;
    getFDIndex(glyphIndex: any): any;
}
export class CFFHeader {
    constructor(major: any, minor: any, hdrSize: any, offSize: any);
    major: any;
    minor: any;
    hdrSize: any;
    offSize: any;
}
export class CFFIndex {
    objects: any[];
    length: number;
    add(data: any): void;
    set(index: any, data: any): void;
    get(index: any): any;
    get count(): number;
}
export class CFFParser {
    constructor(file: any, properties: any, seacAnalysisEnabled: any);
    bytes: any;
    properties: any;
    seacAnalysisEnabled: boolean;
    parse(): CFF;
    cff: CFF | undefined;
    parseHeader(): {
        obj: CFFHeader;
        endPos: any;
    };
    parseDict(dict: any): any[][];
    parseIndex(pos: any): {
        obj: CFFIndex;
        endPos: any;
    };
    parseNameIndex(index: any): string[];
    parseStringIndex(index: any): CFFStrings;
    createDict(Type: any, dict: any, strings: any): any;
    parseCharString(state: any, data: any, localSubrIndex: any, globalSubrIndex: any): boolean;
    parseCharStrings({ charStrings, localSubrIndex, globalSubrIndex, fdSelect, fdArray, privateDict, }: {
        charStrings: any;
        localSubrIndex: any;
        globalSubrIndex: any;
        fdSelect: any;
        fdArray: any;
        privateDict: any;
    }): {
        charStrings: any;
        seacs: any[];
        widths: any[];
    };
    emptyPrivateDictionary(parentDict: any): void;
    parsePrivateDict(parentDict: any): void;
    parseCharsets(pos: any, length: any, strings: any, cid: any): CFFCharset;
    parseEncoding(pos: any, properties: any, strings: any, charset: any): CFFEncoding;
    parseFDSelect(pos: any, length: any): CFFFDSelect;
}
export class CFFPrivateDict extends CFFDict {
    static get tables(): any;
    constructor(strings: any);
    subrsIndex: any;
}
/**
 * The CFF class takes a Type1 file and wrap it into a
 * 'Compact Font Format' which itself embed Type2 charstrings.
 */
export const CFFStandardStrings: string[];
export class CFFStrings {
    strings: any[];
    get(index: any): any;
    getSID(str: any): number;
    add(value: any): void;
    get count(): number;
}
export class CFFTopDict extends CFFDict {
    static get tables(): any;
    constructor(strings: any);
    privateDict: any;
}
declare class CFFOffsetTracker {
    offsets: any;
    isTracking(key: any): boolean;
    track(key: any, location: any): void;
    offset(value: any): void;
    setEntryLocation(key: any, values: any, output: any): void;
}
declare class CFFEncoding {
    constructor(predefined: any, format: any, encoding: any, raw: any);
    predefined: any;
    format: any;
    encoding: any;
    raw: any;
}
declare class CFFDict {
    static createTables(layout: any): {
        keyToNameMap: {};
        nameToKeyMap: {};
        defaults: {};
        types: {};
        opcodes: {};
        order: never[];
    };
    constructor(tables: any, strings: any);
    keyToNameMap: any;
    nameToKeyMap: any;
    defaults: any;
    types: any;
    opcodes: any;
    order: any;
    strings: any;
    values: any;
    setByKey(key: any, value: any): boolean;
    setByName(name: any, value: any): void;
    hasName(name: any): boolean;
    getByName(name: any): any;
    removeByName(name: any): void;
}
export {};
