import { LitElement } from 'lit'; import '../tag'; declare const MultiInputField_base: (new (...args: any[]) => import("../../../common/mixins/form-input").FormMixinInterface) & typeof LitElement; /** * Multi-input field component. * @slot unnamed - Slot for tag icon. * @fires on-input – emits { value, origEvent } on every keystroke. `detail:{ origEvent: Event,value: string }` * @fires on-change – emits string[] after tags are added/removed. `detail:{ value: string[] }` * @prop {string[]} customSuggestions - Optional array of custom suggestions to use instead of the default mock data. * @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 MultiInputField extends MultiInputField_base { static styles: import("lit").CSSResult; /** Label text. */ accessor label: string; /** Helper or error caption. */ accessor caption: string; /** Sets input type to either email or default. */ accessor inputType: 'email' | 'default'; /** Makes field required. */ accessor required: boolean; /** Placeholder text. */ accessor placeholder: string; /** Disable the textarea. */ accessor disabled: boolean; /** Read‐only mode. */ accessor readonly: boolean; /** Hide visible label (for screen‐reader only). */ accessor hideLabel: boolean; /** Whether automatic suggestion is active. */ accessor autoSuggestionDisabled: boolean; /** Disable all validations. */ accessor validationsDisabled: boolean; /** Custom suggestions data to override default mock data for type-ahead functionality. */ accessor customSuggestions: string[]; /** Maximum number of tags allowed. */ accessor maxItems: number | undefined; /** Customizable text strings. */ accessor textStrings: { requiredText: string; noSuggestionsMsg: string; placeholderSecondary: string; requiredError: string; invalidFormatError: string; maxExceededError: string; duplicateError: string; }; /** Suppress any tag icon (even on email). */ accessor hideIcon: boolean; /** Pattern attribute for the input element. */ accessor pattern: string | undefined; /** * Consumer-driven status map, e.g. * { "foo@boo.com": "error", "bar@ex.com": "success", "example@test.com": "default" } */ accessor itemStatusMap: Record; /** Merged internal text strings. * @internal */ private get _textStrings(); /** Entered tags. * @internal */ private accessor _items; /** Indexes of invalid items in `_items`. * @internal */ private accessor _invalids; /** Current type-ahead suggestions. * @internal */ private accessor suggestions; /** Whether the suggestion panel is expanded. * @internal */ private accessor _expanded; /** Currently highlighted suggestion index. * @internal */ private accessor highlightedIndex; /** Inline 'top' style for suggestions (px) * @internal */ private accessor _suggestionTop; /** Inline 'left' style for suggestions (px). * @internal */ private accessor _suggestionLeft; /** Displayed validation message. * @internal */ private accessor _validationMessage; /** Store the slotted icon SVG string. * @internal */ private accessor _iconSvg; /** Whether to use the icon. * @internal */ private accessor _useIcon; /** Container wrapper for relative positioning * @ignore */ private accessor _containerEl; /** The `` element. * @ignore */ private accessor inputEl; /** Mock database of emails to simulate type-ahead suggestions. * @ignore */ private static _mockDb; private renderLabel; private renderTag; private _renderTagWithColor; private renderInput; private renderTagsAndInput; private renderSuggestions; private renderCaptionAndError; render(): import("lit-html").TemplateResult<1>; updated(_changed: Map): void; willUpdate(changed: Map): void; firstUpdated(): void; private handleInput; private _handleFocus; private _handleBlur; private _fetchSuggestions; private _queryEmails; private _selectSuggestion; private handleSuggestionNavigation; private handleTagCreation; private onKeydown; private handlePaste; private createPositionMirror; private calculateSuggestionPosition; private _updateSuggestionPosition; private _validate; private _validateAllTags; private addTagsFromValue; private removeAt; } declare global { interface HTMLElementTagNameMap { 'kyn-multi-input-field': MultiInputField; } } export {}; //# sourceMappingURL=multiInputField.d.ts.map