import { BrsValue, ValueKind, BrsString, BrsBoolean } from "../BrsType";
import { BrsComponent } from "./BrsComponent";
import { BrsType } from "..";
import { Int32 } from "../Int32";
import { BrsCanvas } from "../interfaces/IfDraw2D";
export interface FontMetrics {
    ascent: number;
    descent: number;
    maxAdvance: number;
    lineHeight: number;
    style: string;
    weight: string;
}
interface FontsConfig {
    default: {
        regular: string;
        bold: string;
        italic: string;
        boldItalic: string;
    };
}
export declare class RoFontRegistry extends BrsComponent implements BrsValue {
    readonly kind = ValueKind.Object;
    readonly canvas: BrsCanvas;
    readonly fontsConfig: FontsConfig;
    private readonly defaultFontSize;
    private readonly fallbackFontFamily;
    private readonly defaultFontFamilies;
    private readonly fontRegistry;
    private readonly fontPaths;
    constructor();
    toString(parent?: BrsType): string;
    equalTo(other: BrsType): BrsBoolean;
    count(): number;
    dispose(): void;
    createFont(family: BrsString, size: Int32, bold: BrsBoolean, italic: BrsBoolean): BrsType;
    getDefaultFontFamily(bold: boolean, italic: boolean): string;
    getFontFamily(uri: string): string;
    registerFont(fontPath: string, fullFamily?: boolean): string;
    /** Register a font file (.ttf or .otf format). */
    private readonly register;
    /** Returns an roArray of strings that represent the names of the font families which have been registered via Register(). */
    private readonly getFamilies;
    /** Returns an roFont object representing a font from the specified family, selected from the fonts previously registered via Register(). */
    private readonly getFont;
    /** Returns an roFont object representing the system default font. */
    private readonly getDefaultFont;
    /** Returns the default font size. */
    private readonly getDefaultFontSize;
}
export declare function getFontRegistry(): RoFontRegistry;
export {};
