import { SeqStream } from "bytestreamjs";
import { CMAPSubTable } from "./CMAPSubTable";
import { FontTable } from "../../Table";
export interface CMAPParameters {
    /**
     * Table version number (0)
     */
    version?: number;
    subTables?: CMAPSubTable[];
}
export interface CMAPType {
    format: number;
    language: number;
    platformID: number;
    platformSpecificID: number;
    firstCode?: number;
}
/**
 * Representation of CMAP. Character to Glyph Index Mapping Table
 * @see https://docs.microsoft.com/en-us/typography/opentype/spec/cmap
 */
export declare class CMAP extends FontTable {
    /**
     * Table version number (0)
     */
    version: number;
    subTables: CMAPSubTable[];
    constructor(parameters?: CMAPParameters);
    static get className(): string;
    static get tag(): number;
    toStream(stream: SeqStream): boolean;
    getSubTable(): CMAPSubTable | null;
    getSubTable(platformID: number, platformSpecificID: number): CMAPSubTable | null;
    /**
     * @internal
     */
    getSubTable(platformID?: number, platformSpecificID?: number): CMAPSubTable | null;
    static fromStream(stream: SeqStream): CMAP;
    gid(code: number): number;
    gid(code: number, platformID: number, platformSpecificID: number): number;
    code(gid: number): number[];
    code(gid: number, platformID: number, platformSpecificID: number): number[];
}
