/**
 * StringDisplay displays the value of a string or TReadOnlyProperty<string> on a background. The background can
 * be a fixed size, or it can dynamically size itself to fit the displayed string.
 *
 * StringDisplay is a nice alternative to NumberDisplay, when the thing you're displaying is not a number,
 * or when formatting is more-cleanly implemented using a TReadOnlyProperty<string>.
 *
 * @author Chris Malley (PixelZoom, Inc.)
 */
import '../../globals.js';
import TReadOnlyProperty from '../../axon/js/TReadOnlyProperty.js';
import Dimension2 from '../../dot/js/Dimension2.js';
import StrictOmit from '../../phet-core/js/types/StrictOmit.js';
import Node, { NodeOptions } from '../../scenery/js/nodes/Node.js';
import { RectangleOptions } from '../../scenery/js/nodes/Rectangle.js';
import { RichTextOptions } from '../../scenery/js/nodes/RichText.js';
import { TextOptions } from '../../scenery/js/nodes/Text.js';
type AlignX = 'left' | 'right' | 'center';
type AlignY = 'top' | 'bottom' | 'center';
type SelfOptions = {
    size?: Dimension2;
    xMargin?: number;
    yMargin?: number;
    alignX?: AlignX;
    alignY?: AlignY;
    rectangleOptions?: RectangleOptions;
    useRichText?: boolean;
    textOptions?: StrictOmit<TextOptions | RichTextOptions, 'maxWidth' | 'maxHeight'>;
};
export type StringDisplayOptions = SelfOptions & NodeOptions;
export default class StringDisplay extends Node {
    private readonly disposeStringDisplay;
    constructor(string: TReadOnlyProperty<string> | string, providedOptions?: StringDisplayOptions);
    dispose(): void;
}
export {};
//# sourceMappingURL=StringDisplay.d.ts.map