import { TextHelper, WrapMode } from '../helpers/TextHelper.js';
import { Widget, WidgetProperties } from './Widget.js';
import type { Rect } from '../helpers/Rect.js';
/**
 * Optional TextInput constructor properties.
 *
 * @category Widget
 */
export interface LabelProperties extends WidgetProperties {
    /** Sets {@link Label#wrapMode}. */
    wrapMode?: WrapMode;
}
/**
 * Base class for {@link Label} and {@link LiveLabel}.
 *
 * @category Widget
 */
export declare abstract class BaseLabel extends Widget {
    /** The helper for measuring/painting text */
    protected textHelper: TextHelper;
    /**
     * Text wrapping mode. Used to control what happens when the text is too big
     * to fit in the label. Uses shrink-wrapping by default.
     */
    wrapMode: WrapMode;
    constructor(properties?: Readonly<LabelProperties>);
    protected onThemeUpdated(property?: string | null): void;
    protected handlePreLayoutUpdate(): void;
    protected handleResolveDimensions(minWidth: number, maxWidth: number, minHeight: number, maxHeight: number): void;
    protected handlePainting(_dirtyRects: Array<Rect>): void;
}
