import { type EventEmitter } from "../../stencil-public-runtime";
export declare class TextField {
    private inputElement;
    el: HTMLIfxTextFieldElement;
    /** Placeholder text shown when the field is empty. */
    readonly placeholder: string;
    /** Current value of the text field (can be updated programmatically). */
    value: string;
    /** If true, shows the text field in an error state. */
    readonly error: boolean;
    /** Label text shown above the text field. */
    readonly label: string;
    /** Optional icon shown inside or next to the text field. */
    readonly icon: string;
    /** Helper text shown below the text field. */
    readonly caption: string;
    /** Size of the text field (e.g. s, m, l). */
    readonly size: string;
    /** Whether a value is required (used for validation). */
    readonly required: boolean;
    /** If true, shows the text field in a success/valid state. */
    readonly success: boolean;
    /** If true, the text field is disabled and not interactive. */
    readonly disabled: boolean;
    /** If true, the text field is read-only but focusable. */
    readonly readOnly: boolean;
    /** Maximum number of characters allowed. */
    readonly maxlength?: number;
    /** If true, shows a delete/clear icon to remove the current value. */
    readonly showDeleteIcon: boolean;
    /** Native autocomplete attribute value. */
    readonly autocomplete: string;
    /** Input type for the field (text or password). */
    readonly type: "text" | "password";
    /** Internal ID used to link label and input elements. */
    readonly internalId: string;
    internalType: string;
    /** Fired when the user types or the value changes. */
    ifxInput: EventEmitter<string>;
    internals: ElementInternals;
    valueWatcher(newValue: string): void;
    /** Resets the text field value and clears the underlying input element. */
    reset(): Promise<void>;
    private handleDeleteContent;
    private handleInput;
    private handleTypeProp;
    componentWillLoad(): void;
    componentDidLoad(): Promise<void>;
    render(): any;
}
