/**
 * Copyright IBM Corp. 2019, 2026
 *
 * This source code is licensed under the Apache-2.0 license found in the
 * LICENSE file in the root directory of this source tree.
 */
import { LitElement } from 'lit';
import { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TOOLTIP_ALIGNMENT, INPUT_TOOLTIP_DIRECTION, INPUT_TYPE } from './defs';
export { INPUT_COLOR_SCHEME, INPUT_SIZE, INPUT_TOOLTIP_ALIGNMENT, INPUT_TOOLTIP_DIRECTION, INPUT_TYPE, };
declare const CDSTextInput_base: (new (...args: any[]) => {
    _getValidityMessage(state: string): string | undefined;
    _testValidity(): string;
    invalid: boolean;
    required: boolean;
    requiredValidityMessage: string;
    validityMessage: string;
    get value(): string;
    set value(v: string): any;
    checkValidity(): boolean;
    setCustomValidity(validityMessage: string): void;
}) & (new (...args: any[]) => {
    _hFormdata: import("../../globals/internal/handle").default | null;
    _handleFormdata(event: Event): void;
    connectedCallback(): void;
    disconnectedCallback(): void;
}) & typeof LitElement;
/**
 * Text Input element. Supports all the usual attributes for textual input types
 *
 * @element cds-custom-text-input
 * @slot helper-text - The helper text.
 * @slot label-text - The label text.
 * @slot validity-message - The validity message. If present and non-empty, this input shows the UI of its invalid state.
 */
declare class CDSTextInput extends CDSTextInput_base {
    /**
     * `true` if there is an AI Label.
     */
    protected _hasAILabel: boolean;
    /**
     * Handles `slotchange` event.
     */
    protected _handleSlotChange({ target }: Event): void;
    /**
     * The underlying input element
     */
    protected _input: HTMLInputElement;
    protected _slotHelperTextNode: HTMLSlotElement;
    /**
     * The internal value.
     */
    protected _value: string;
    /**
     * Handles `oninput` event on the `input`.
     *
     * @param event The event.
     * @param event.target The event target.
     */
    protected _handleInput({ target }: Event): void;
    _handleFormdata(event: FormDataEvent): void;
    protected _handleHelperTextSlotChange(): void;
    /**
     * May be any of the standard HTML autocomplete options
     */
    autocomplete: string;
    /**
     * Sets the input to be focussed automatically on page load. Defaults to false
     */
    autofocus: boolean;
    /**
     * Controls the disabled state of the input
     */
    disabled: boolean;
    /**
     * Specify whether to display the character counter
     */
    enableCounter: boolean;
    /**
     * The helper text.
     */
    helperText: string;
    /**
     * Specify if the currently value is invalid.
     */
    invalid: boolean;
    /**
     * Message which is displayed if the value is invalid.
     */
    invalidText: string;
    /**
     * Max character count allowed for input. This is needed in order for enableCounter to display
     */
    maxCount: any;
    /**
     * Specify whether the control is currently in warning state
     */
    warn: boolean;
    /**
     * Provide the text that is displayed when the control is in warning state
     */
    warnText: string;
    /**
     * Specify whether you want the underlying label to be visually hidden
     */
    hideLabel: boolean;
    /**
     * Generic label that will be used as the textual representation of what this field is for
     */
    label: string;
    /**
     * Name for the input in the `FormData`
     */
    name: string;
    /**
     * Pattern to validate the input against for HTML validity checking
     */
    pattern: string;
    /**
     * Value to display when the input has an empty `value`
     */
    placeholder: string;
    /**
     * Specify if the component should be read-only
     */
    readonly: boolean;
    /**
     * Boolean property to set the required status
     */
    required: boolean;
    /**
     * The special validity message for `required`.
     */
    requiredValidityMessage: string;
    /**
     * "Hide password" tooltip text on password visibility toggle
     *
     * @deprecated will be removed in the next major version, use `cds-custom-password-input` instead
     */
    hidePasswordLabel: string;
    /**
     * "Show password" tooltip text on password visibility toggle
     *
     * @deprecated will be removed in the next major version, use `cds-custom-password-input` instead
     */
    showPasswordLabel: string;
    /**
     * Boolean property to render password visibility toggle
     *
     * @deprecated will be removed in the next major version, use `cds-custom-password-input` instead
     */
    showPasswordVisibilityToggle: boolean;
    /**
     * The input box size.
     */
    size?: INPUT_SIZE;
    isFluid: boolean;
    /**
     * true to use the inline version.
     */
    inline: boolean;
    /**
     * Specify the alignment of the tooltip to the icon-only button.
     * Can be one of: start, center, or end.
     */
    tooltipAlignment: INPUT_TOOLTIP_ALIGNMENT;
    /**
     * Specify the direction of the tooltip for icon-only buttons.
     * Can be either top, right, bottom, or left.
     */
    tooltipDirection: INPUT_TOOLTIP_DIRECTION;
    /**
     * The type of the input. Can be one of the types listed in the INPUT_TYPE enum
     */
    type: INPUT_TYPE;
    /**
     * The validity message. If present and non-empty, this input shows the UI of its invalid state.
     */
    validityMessage: string;
    /**
     * The value of the input.
     */
    get value(): string;
    set value(value: string);
    /**
     * Handles password visibility toggle button click
     *
     * @deprecated will be removed in the next major version, use `cds-custom-password-input` instead
     */
    private togglePasswordVisibility;
    render(): import("lit-html").TemplateResult<1>;
    updated(): void;
    /**
     * A selector that will return the slug item.
     *
     * remove in v12
     */
    static get slugItem(): string;
    /**
     * A selector that will return the AI Label item.
     */
    static get aiLabelItem(): string;
    static shadowRootOptions: {
        delegatesFocus: boolean;
        clonable?: boolean;
        customElementRegistry?: CustomElementRegistry;
        mode: ShadowRootMode;
        serializable?: boolean;
        slotAssignment?: SlotAssignmentMode;
    };
    static styles: any;
}
export default CDSTextInput;
//# sourceMappingURL=text-input.d.ts.map