export declare namespace Font {
    class ValueObject {
        readonly fontFamily: string;
        readonly fontSize: number;
        readonly fontWeight: string;
        readonly lineHeight: number;
        readonly topToBaseLine: number;
        readonly width: Map<string, number>;
        constructor(fontFamily: string, fontSize: number, fontWeight: string, lineHeight: number, topToBaseLine: number, width: Map<string, number>);
        widthOf(text: Array<string> | string): number;
    }
    namespace Factory {
        export function create(characters: string, testRenderElement: SVGTSpanElement, baseLineReferenceElement: SVGRectElement): ValueObject;
        class BatchMeasurer {
            private svgElement;
            private textElement;
            private readonly baseLineReferenceElement;
            private readonly measuringElement;
            private readonly result;
            constructor(svgElement: SVGSVGElement, textElement: SVGTextElement);
            thanCreate(classNames: Array<string>, text: string): this;
            endBatch(): Array<ValueObject>;
        }
        export function startBatch(svgElement: SVGSVGElement, textElement: SVGTextElement): BatchMeasurer;
        export {};
    }
    namespace Service {
        function measureMore(font: ValueObject, text: string, classes: Array<string>, textElement: SVGTextElement): ValueObject;
    }
}
