import type { MjoTextfieldAutoCapitalize, MjoTextfieldBlurEvent, MjoTextfieldChangeEvent, MjoTextfieldClearEvent, MjoTextfieldColor, MjoTextfieldFocusEvent, MjoTextfieldInputEvent, MjoTextfieldKeyupEvent, MjoTextfieldPasswordToggleEvent, MjoTextfieldSize, MjoTextfieldType } from "./types/mjo-textfield.js"; import { LitElement, PropertyValues } from "lit"; import { type IFormMixin } from "./mixins/form-mixin.js"; import { type IInputErrorMixin } from "./mixins/input-error.js"; import { type IThemeMixin } from "./mixins/theme-mixin.js"; import "./components/input/mjoint-input-counter.js"; import "./components/input/mjoint-input-helper-text.js"; import "./components/input/mjoint-input-label.js"; import "./mjo-icon.js"; declare const MjoTextfield_base: import("./types/mixins.js").MixinConstructor & import("./types/mixins.js").MixinConstructor & import("./types/mixins.js").MixinConstructor & typeof LitElement; /** * @summary Versatile single-line text input component with comprehensive features including validation, * icons, prefix/suffix text, password visibility toggle, and full form integration. * * @fires mjo-textfield-input - Fired on every input change with detailed value and validation information * @fires mjo-textfield-change - Fired when value changes and field loses focus * @fires mjo-textfield-focus - Fired when the textfield gains focus * @fires mjo-textfield-blur - Fired when the textfield loses focus * @fires mjo-textfield-keyup - Fired on keyup events (Enter key submits parent form) * @fires mjo-textfield-clear - Fired when the clear button is clicked * @fires mjo-textfield-password-toggle - Fired when password visibility is toggled * * @csspart container - The main textfield container * @csspart input - The native input element * @csspart label-container - The label container (via exportparts) * @csspart label-truncate-container - The label truncate container (via exportparts) * @csspart label-truncate-wrapper - The label truncate wrapper (via exportparts) * @csspart prefix-text - Container for prefix text * @csspart suffix-text - Container for suffix text * @csspart start-icon-container - Container for start icon * @csspart start-icon - The start icon element (via exportparts) * @csspart end-icon-container - Container for end icon * @csspart end-icon - The end icon element (via exportparts) * @csspart start-image-container - Container for start image * @csspart start-image - The start image element * @csspart end-image-container - Container for end image * @csspart end-image - The end image element * @csspart clear-button - The clear button element * @csspart clear-icon - The clear icon element (via exportparts) * @csspart password-button - The password toggle button element * @csspart password-icon - The password toggle icon element (via exportparts) * @csspart helper-text-container - Helper text container (via exportparts) * @csspart helper-text-typography - Helper text typography (via exportparts) * @csspart helper-text-error-message - Error message element (via exportparts) * @csspart helper-text-success-message - Success message element (via exportparts) * @csspart helper-text-icon - Helper text icon element (via exportparts) * @csspart counter-container - Character counter container (via exportparts) * @csspart counter-text - Character counter text (via exportparts) */ export declare class MjoTextfield extends MjoTextfield_base implements IInputErrorMixin, IFormMixin, IThemeMixin { #private; autoCapitalize?: MjoTextfieldAutoCapitalize; autoComplete?: AutoFillContactField; autoFocus: boolean; disabled: boolean; fullwidth: boolean; name?: string; placeholder?: string; readonly: boolean; step?: number; type: MjoTextfieldType; value: string; label?: string; size: MjoTextfieldSize; color: MjoTextfieldColor; startIcon?: string; endIcon?: string; startImage?: string; endImage?: string; prefixText?: string; suffixText?: string; helperText?: string; counter: boolean; selectOnFocus: boolean; clearabled: boolean; nospiners: boolean; private isFocused; private valueLength; inputElement: HTMLInputElement; isPassword: boolean; render(): import("lit-html").TemplateResult<1>; connectedCallback(): void; protected firstUpdated(_changedProperties: PropertyValues): void; blur(): void; clear(focus?: boolean): void; focus(): void; getError(): string; getForm(): HTMLFormElement | null; getValue(): string; removeError(): void; setError(errormsg: string): void; setValue(value: string): void; static styles: import("lit").CSSResult[]; } declare global { interface HTMLElementTagNameMap { "mjo-textfield": MjoTextfield; } interface HTMLElementEventMap { "mjo-textfield-clear": MjoTextfieldClearEvent; "mjo-textfield-password-toggle": MjoTextfieldPasswordToggleEvent; "mjo-textfield-input": MjoTextfieldInputEvent; "mjo-textfield-change": MjoTextfieldChangeEvent; "mjo-textfield-focus": MjoTextfieldFocusEvent; "mjo-textfield-blur": MjoTextfieldBlurEvent; "mjo-textfield-keyup": MjoTextfieldKeyupEvent; } } export {}; //# sourceMappingURL=mjo-textfield.d.ts.map