import { GdsButton } from '../button/button.component'; import { GdsFormControlElement } from '../form/form-control'; declare class Textarea extends GdsFormControlElement { #private; static styles: (import("lit").CSSResult | import("lit").CSSResult[])[]; private _initialRows?; private _defaultRows; /** * Rows of the textarea */ rows: number; /** * The supporting text displayed between the label and the field itself */ supportingText: string; /** * Whether the field should be clearable or not. Clearable fields will display a clear button when * the field has a value. */ clearable: boolean; /** * The resizable attribute of the textarea. It can be set to 'auto', 'manual' or 'false'. * When set to 'auto', the textarea will be resizable in the vertical direction based on content. * When set to 'manual', the textarea will be resizable in both the vertical and horizontal directions. * When set to 'false', the textarea will not be resizable. */ resizable: 'auto' | 'manual' | 'false'; /** * Whether the supporting text should be displayed or not. */ showExtendedSupportingText: boolean; /** * The maximum number of characters allowed in the field. */ maxlength: number; /** * Controls the font-size of texts. */ size: 'large' | 'small'; /** * Hides the header and the footer, while still keeping the accessible label * * Always set the `label` attribute, and if you need to hide it, add this attribute and keep `label` set. */ plain: boolean; /** Controls whether and how text input is automatically capitalized as it is entered by the user. */ autocapitalize: 'off' | 'none' | 'on' | 'sentences' | 'words' | 'characters'; /** Indicates whether the browser's autocorrect feature is on or off. */ autocorrect: boolean; /** * Specifies what permission the browser has to provide assistance in filling out form field values. Refer to * [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete) for available values. */ autocomplete?: string; /** Indicates that the input should receive focus on page load. */ autofocus: boolean; /** Enables spell checking on the input. */ spellcheck: boolean; /** * Indicates how the control should wrap the value for form submission. Refer to * [this page on MDN](https://developer.mozilla.org/en-US/docs/Web/HTML/Reference/Elements/textarea#wrap) for available values. */ wrap: 'hard' | 'soft'; /** Used to customize the label or icon of the Enter key on virtual keyboards. */ enterkeyhint?: 'enter' | 'done' | 'go' | 'next' | 'previous' | 'search' | 'send'; /** * Tells the browser what type of data will be entered by the user, allowing it to display the appropriate virtual * keyboard on supportive devices. */ inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'; /** * This callback allows for customization of the character counter. It should return a tuple * with the first value being the number of remaining characters, and the second value being * the variant of the badge. If the second value is `false`, no badge will be shown. */ charCounterCallback: (self: GdsFormControlElement & { maxlength: number; }) => readonly [number, false | "positive" | "negative"]; private elTextareaAsync; private elTextarea; private fieldBase; /** * A reference to the clear button element. Returns null if there is no clear button. * Intended for use in integration tests. */ test_getClearButton(): GdsButton | null | undefined; /** * A reference to the field element. This does not refer to the input element itself, * but the wrapper that makes up the visual field. * Intended for use in integration tests. */ test_getFieldElement(): Element | null | undefined; focus(options?: FocusOptions): void; /** * Selects all the text in the textarea element. */ select(): void; /** * Sets the value of the textarea element, replacing a range of text. */ setRangeText(...args: Parameters): void; /** * Sets the start and end positions of a selection in the textarea element. */ setSelectionRange(...args: Parameters): void; /** The position of the start of the current text selection in the textarea element. */ get selectionStart(): number; /** Sets the position of the start of the current text selection in the textarea element. */ set selectionStart(value: number); /** The position of the end of the current text selection in the textarea element. */ get selectionEnd(): number; /** Sets the position of the end of the current text selection in the textarea element. */ set selectionEnd(value: number); /** The direction of the current text selection in the textarea element. */ get selectionDirection(): "none" | "backward" | "forward"; /** Sets the direction of the current text selection in the textarea element. */ set selectionDirection(value: "none" | "backward" | "forward"); private _handleResize; private _handleSlotChange; constructor(); connectedCallback(): void; disconnectedCallback(): void; render(): any; private _handleValueChange; protected _getValidityAnchor(): HTMLTextAreaElement; private _setAutoHeight; private _handleRowsChange; } declare const GdsTextarea_base: (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").LayoutChildProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").SizeXProps) & (new (...args: any[]) => import("../../utils/mixins/declarative-layout-mixins").MarginProps) & typeof Textarea; /** * @summary A custom input element that can be used in forms. * * @element gds-textarea *. * @slot lead - Accepts `gds-icon-[ICON_NAME]`. Use this to place an icon in the start of the field. * @slot trail - Accepts `gds-badge`. Use this to place a badge in the field, for displaying currency for example. * @slot extended-supporting-text - A longer supporting text can be placed here. It will be * displayed in a panel when the user clicks the info button. * @event gds-input-cleared - Fired when the clear button is clicked. */ export declare class GdsTextarea extends GdsTextarea_base { } /** * Default character counter callback function. * Returns the number of remaining characters and the badge variant based on the current value length and maxlength. */ export declare const charCounterCallbackDefault: (self: GdsFormControlElement & { maxlength: number; }) => readonly [number, false | "positive" | "negative"]; export {};