import '../../chipper/js/initialize-globals.js';
import '../../assert/js/assert.js';
import '../../tandem/js/PhetioIDUtils.js';
import '../../globals.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import Range from '../../dot/js/Range.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import { Font, Node, NodeOptions, RichTextOptions, TextOptions, TPaint } from '../../scenery/js/imports.js';
import IOType from '../../tandem/js/types/IOType.js';
declare const ALIGN_VALUES: readonly ["center", "left", "right"];
type NumberDisplayAlign = typeof ALIGN_VALUES[number];
type SelfOptions = {
    align?: NumberDisplayAlign;
    valuePattern?: string | TReadOnlyProperty<string>;
    decimalPlaces?: number | null;
    numberFormatter?: ((n: number) => string) | null;
    numberFormatterDependencies?: TReadOnlyProperty<unknown>[];
    useRichText?: boolean;
    useFullHeight?: boolean;
    textOptions?: TextOptions | RichTextOptions;
    xMargin?: number;
    yMargin?: number;
    cornerRadius?: number;
    backgroundFill?: TPaint;
    backgroundStroke?: TPaint;
    backgroundLineWidth?: number;
    backgroundLineDash?: number[];
    minBackgroundWidth?: number;
    noValueString?: string;
    noValueAlign?: NumberDisplayAlign | null;
    noValuePattern?: string | TReadOnlyProperty<string> | null;
};
export type NumberDisplayOptions = SelfOptions & StrictOmit<NodeOptions, 'children'>;
export default class NumberDisplay extends Node {
    private readonly numberFormatterProperty;
    private readonly valueText;
    private readonly backgroundNode;
    private readonly disposeNumberDisplay;
    /**
     * @param numberProperty
     * @param displayRange - this range, with options.decimals or numberFormatter applied, is used to determine
     *                     - the display width. It is unrelated to the range of numberProperty.
     * @param providedOptions
     */
    constructor(numberProperty: TReadOnlyProperty<number | null>, displayRange: Range, providedOptions?: NumberDisplayOptions);
    dispose(): void;
    /**
     * Sets the number text font.
     */
    setNumberFont(font: Font): void;
    set numberFont(value: Font);
    /**
     * Sets the number text fill.
     */
    setNumberFill(fill: TPaint): void;
    set numberFill(value: TPaint);
    /**
     * Sets the background fill.
     */
    setBackgroundFill(fill: TPaint): void;
    set backgroundFill(value: TPaint);
    get backgroundFill(): TPaint;
    /**
     * Gets the background fill.
     */
    getBackgroundFill(): TPaint;
    /**
     * Sets the background stroke.
     */
    setBackgroundStroke(stroke: TPaint): void;
    set backgroundStroke(value: TPaint);
    /**
     * Get the width of the background.
     */
    getBackgroundWidth(): number;
    /**
     * Set the width of the background node.
     */
    setBackgroundWidth(width: number): void;
    get backgroundWidth(): number;
    set backgroundWidth(width: number);
    static readonly NumberDisplayIO: IOType<any, any, any>;
}
export {};
//# sourceMappingURL=NumberDisplay.d.ts.map