import { type ImageDef, type TextDef } from '@expofp/renderer';
import { type FontSizeFactor } from '../../../../engine/defs';
import { type Booth, SpecialBooth } from '../../../../store/BoothStore';
import { BoothLabelDrawer } from './config-booth-labels';
export default function configBoothLabelsSpecial(booth: Booth): BoothLabelSpecialDrawer | undefined;
declare class BoothLabelSpecialDrawer extends BoothLabelDrawer {
    protected steps: FontSizeFactor[];
    protected labelIsVertical: boolean;
    protected text: string;
    constructor(booth: SpecialBooth);
    getShape(): (ImageDef | TextDef)[];
    /**
     * Lays a special booth's label out: the text fitter's steps are indexed by the inverse pixel size,
     * and a plan too far out for the smallest step drops the label to nothing.
     * @param pixelSize - Plan units per device pixel.
     * @returns Always the label; every step writes the line, and the fitter's text may change with it.
     */
    layOutLabel(pixelSize: number): TextDef[];
    /**
     * Lays a special booth's dot out: it stands in for the label exactly when no step fits.
     * @param pixelSize - Plan units per device pixel.
     * @returns Always the dot; the bounds are rewritten on every step.
     */
    layOutDot(pixelSize: number): ImageDef[];
    setFactors(text: string): void;
    setText(): void;
}
export {};
//# sourceMappingURL=config-booth-labels-special.d.ts.map