import { LitElement } from 'lit'; import '../../reusable/button'; declare const TextInput_base: (new (...args: any[]) => import("../../../common/mixins/form-input").FormMixinInterface) & typeof LitElement; /** * Text input. * @fires on-input - Captures the input event and emits the selected value and original event details.`detail:{ origEvent: InputEvent, value: string }` * @prop {string} pattern - RegEx pattern to validate. * @prop {number} minLength - Minimum number of characters. * @prop {number} maxLength - Maximum number of characters. * @slot icon - Slot for contextual icon. * @slot tooltip - Slot for tooltip. * @attr {string} [value=''] - The value of the input. * @attr {string} [name=''] - The name of the input, used for form submission. * @attr {string} [invalidText=''] - The custom validation message when the input is invalid. * */ export declare class TextInput extends TextInput_base { static styles: import("lit").CSSResult; /** Label text. */ accessor label: string; /** Input type, limited to options that are "text like". */ accessor type: 'text' | 'password' | 'email' | 'search' | 'tel' | 'url'; /** Input size. "xs", "sm", "md", or "lg". */ accessor size: string; /** Optional text beneath the input. */ accessor caption: string; /** Input placeholder. */ accessor placeholder: string; /** Makes the input required. */ accessor required: boolean; /** Input disabled state. */ accessor disabled: boolean; /** Input readonly state. */ accessor readonly: boolean; /** RegEx pattern to validate. */ accessor pattern: string; /** Maximum number of characters. */ accessor maxLength: number; /** Minimum number of characters. */ accessor minLength: number; /** Place icon on the right. */ accessor iconRight: boolean; /** Visually hide the label. */ accessor hideLabel: boolean; /** Customizable text strings. */ accessor textStrings: { requiredText: string; clearAll: string; errorText: string; showPassword: string; hidePassword: string; }; /** Control for native browser autocomplete. Use `on`, `off`, or a space-separated `token-list` describing autocomplete behavior.*/ accessor autoComplete: string; /** Internal text strings. * @internal */ accessor _textStrings: { requiredText: string; clearAll: string; errorText: string; showPassword: string; hidePassword: string; }; /** * Queries the DOM element. * @ignore */ accessor _inputEl: HTMLInputElement; /** * Evaluates if an icon is slotted. * @ignore */ accessor iconSlotted: boolean; /** Internal state for password visibility * @internal */ private accessor passwordVisible; /** * Queries any slotted icons. * @ignore */ accessor iconSlot: Array; render(): import("lit-html").TemplateResult<1>; private _handleInput; private _handleClear; private _emitValue; private _validate; updated(changedProps: any): void; firstUpdated(): void; private determineIfSlotted; willUpdate(changedProps: any): void; private _togglePasswordVisibility; setValueAndNotify(val: string): void; } declare global { interface HTMLElementTagNameMap { 'kyn-text-input': TextInput; } } export {}; //# sourceMappingURL=textInput.d.ts.map