import { ScrollableViewportWidget, ScrollableViewportWidgetProperties } from './ScrollableViewportWidget.js';
import { TextInput, TextInputProperties } from './TextInput.js';
import { type WidgetAutoXML } from '../xml/WidgetAutoXML.js';
import { type Box } from '../state/Box.js';
import { type ValidatedBox } from '../state/ValidatedBox.js';
/**
 * A {@link ScrollableViewportWidget} with a {@link TextInput}. Meant to be used
 * as an analogue to the HTML textarea. Allows tab typing by default.
 *
 * Using uni-directional coupling with
 * {@link ScrollbarMode.Hidden | hidden scrollbars} (the default) is
 * recommended. However, if the scrollbars need to be visible, then
 * {@link ScrollbarMode.Layout | layout scrollbars} are recommended since
 * {@link ScrollbarMode.Overlay | overlay scrollbars} will hide text near the
 * borders.
 *
 * @category Widget
 */
export declare class TextArea extends ScrollableViewportWidget<TextInput> {
    static autoXML: WidgetAutoXML;
    constructor(variable?: ValidatedBox<string, unknown> | Box<string>, properties?: Readonly<ScrollableViewportWidgetProperties & TextInputProperties>);
    /**
     * Get the {@link TextInput} of this TextArea. Equivalent to
     * {@link TextArea#child}.
     */
    get textInput(): TextInput;
}
