import { Disposable } from "../../../../base/common/lifecycle.js";
import { type IGlyphRasterizer, type IRasterizedGlyph } from "./raster.js";
export declare class GlyphRasterizer extends Disposable implements IGlyphRasterizer {
    readonly fontSize: number;
    readonly fontFamily: string;
    readonly devicePixelRatio: number;
    readonly id: number;
    get cacheKey(): string;
    private _canvas;
    private _ctx;
    private readonly _textMetrics;
    private _workGlyph;
    private _workGlyphConfig;
    constructor(fontSize: number, fontFamily: string, devicePixelRatio: number);
    rasterizeGlyph(chars: string, tokenMetadata: number, charMetadata: number, colorMap: string[]): Readonly<IRasterizedGlyph>;
    _rasterizeGlyph(chars: string, metadata: number, charMetadata: number, colorMap: string[]): Readonly<IRasterizedGlyph>;
    private _findGlyphBoundingBox;
}
