import { ImageDef, Rect as RectShape, TextAlignment, TextDef } from "@expofp/renderer";
import { RendererService } from "../../../../renderer";
import { CustomFonts, FontSizeFactor } from "../../../../renderer";
import { Booth } from "../../../../store/BoothStore";
import { Exhibitor } from "../../../../store/ExhibitorStore";
import { BoothDrawerBaseWithoutPainter } from "./BoothDrawerBase";
type Prefix = {
    fontSize: number;
    name: string;
    short?: boolean;
};
export default function configBoothLabels(rendererService: RendererService, booth: Booth): BoothLabelDrawer | undefined;
export declare function getMinZoomFactorForDot(scaleFactors: number[]): number;
export declare const isDirectionsMode: () => boolean;
export declare function getFontUrlByWeight(weight: number, customFonts?: CustomFonts[], style?: string): string;
type LabelFontWeights = {
    main: number;
    details: number;
};
export declare function getBoothLabelWeights(): LabelFontWeights;
export declare function getExhibitorLabelWeights(): LabelFontWeights;
export declare function getBadgeFontWeight(): number;
export declare class BoothLabelDrawer extends BoothDrawerBaseWithoutPainter {
    protected readonly rendererService: RendererService;
    protected canvasRect: RectShape;
    protected paddingScaled: [number, number];
    protected padding: number;
    protected minZoomDotVisible: number;
    protected maxZoomDotVisible: number;
    protected exh: Exhibitor[];
    protected shapeLabel: TextDef;
    protected shapeDot: ImageDef;
    protected fontSizes: [FontSizeFactor[], FontSizeFactor[]];
    protected lines: [string[], string[]];
    protected topLeftAlignment: TextAlignment;
    protected centerAlignment: TextAlignment;
    protected prefixes: Prefix[];
    protected fontUrls: [string, string];
    constructor(rendererService: RendererService, booth: Booth);
    getShape(): (ImageDef | TextDef)[];
    getShapeDot(): void;
    private createLines;
    private calculateFontSizeFactors;
    private calcArea;
    private optimizationLevel;
    private measureText;
}
export {};
//# sourceMappingURL=config-booth-labels.d.ts.map