import loadGlyphRange from '../style/load_glyph_range';
import TinySDF from '@mapbox/tiny-sdf';
import type { StyleGlyph } from '../style/style_glyph';
import type { RequestManager } from '../util/mapbox';
import type { Callback } from '../types/callback';
declare type Entry = {
    glyphs: {
        [id: number]: StyleGlyph | null;
    };
    requests: {
        [range: number]: Array<Callback<{
            [_: number]: StyleGlyph | null;
        }>>;
    };
    ranges: {
        [range: number]: boolean | null;
    };
    tinySDF?: TinySDF;
};
declare class GlyphManager {
    requestManager: RequestManager;
    localIdeographFontFamily: string | undefined | null;
    entries: {
        [_: string]: Entry;
    };
    url: string | undefined | null;
    static loadGlyphRange: typeof loadGlyphRange;
    static TinySDF: {
        new (...args: any): TinySDF;
    };
    constructor(requestManager: RequestManager, localIdeographFontFamily?: string | null);
    setURL(url?: string | null): void;
    getGlyphs(glyphs: {
        [stack: string]: Array<number>;
    }, callback: Callback<{
        [stack: string]: {
            [id: number]: StyleGlyph | undefined | null;
        };
    }>): void;
    _doesCharSupportLocalGlyph(id: number): boolean;
    _tinySDF(entry: Entry, stack: string, id: number): StyleGlyph | undefined | null;
}
export default GlyphManager;
//# sourceMappingURL=glyph_manager.d.ts.map