import { LitElement } from "lit";
export declare class NysTextinput extends LitElement {
    id: string;
    name: string;
    private static readonly VALID_TYPES;
    private _type;
    get type(): (typeof NysTextinput.VALID_TYPES)[number];
    set type(value: string);
    label: string;
    description: string;
    placeholder: string;
    value: string;
    disabled: boolean;
    readonly: boolean;
    required: boolean;
    optional: boolean;
    form: string;
    pattern: string;
    maxlength: null;
    private static readonly VALID_WIDTHS;
    width: (typeof NysTextinput.VALID_WIDTHS)[number];
    updated(changedProperties: Map<string | number | symbol, unknown>): Promise<void>;
    step: null;
    min: null;
    max: null;
    showError: boolean;
    errorMessage: string;
    private showPassword;
    static styles: import("lit").CSSResult;
    private _originalErrorMessage;
    private _hasUserInteracted;
    private _internals;
    private _maskPatterns;
    /********************** Lifecycle updates **********************/
    static formAssociated: boolean;
    constructor();
    connectedCallback(): void;
    disconnectedCallback(): void;
    firstUpdated(): void;
    formResetCallback(): void;
    /********************** Form Integration **********************/
    private _setValue;
    private _manageRequire;
    private _setValidityMessage;
    private _validate;
    /********************** Functions **********************/
    checkValidity(): boolean;
    private _handleInvalid;
    private _togglePasswordVisibility;
    private _updateOverlay;
    private _applyMask;
    /******************** Event Handlers ********************/
    private _handleInput;
    private _handleFocus;
    private _handleBlur;
    private _validateButtonSlot;
    render(): import("lit-html").TemplateResult<1>;
}
