import { FontMetricTable, FontSelector, StandardFontId } from './standard-metrics'; export interface RegisteredFont { id: string; postScriptName: string; metrics: FontMetricTable; resourceName: string; } export interface TextMeasureOptions { fontSize: number; characterSpacing?: number; wordSpacing?: number; horizontalScale?: number; } export declare class FontRegistry { private readonly fonts; private resourceCounter; resolve(selector: FontSelector): RegisteredFont; register(postScriptName: StandardFontId): RegisteredFont; all(): RegisteredFont[]; } export declare function measureTextWidth(font: RegisteredFont, text: string, options: TextMeasureOptions): number; export declare function measureCharacterWidths(font: RegisteredFont, text: string, options: TextMeasureOptions): number[]; export declare function fontAscent(font: RegisteredFont, fontSize: number): number; export declare function fontDescent(font: RegisteredFont, fontSize: number): number;