import { LitElement } from 'lit'; declare const Input_base: (new (...args: any[]) => import("../common/mixins/SizeMixin.js").SizeMixinInterface) & (new (...args: any[]) => import("../common/mixins/FormAssociatedMixin.js").FormAssociatedMixinInterface) & (new (...args: any[]) => import("../common/mixins/AutocompleteMixin.js").AutocompleteMixinInterface) & (new (...args: any[]) => import("../common/mixins/ReadonlyMixin.js").ReadonlyMixinInterface) & (new (...args: any[]) => import("../common/mixins/TextSelectableMixin.js").TextSelectableMixinInterface) & (new (...args: any[]) => import("../common/mixins/InputMixin.js").InputMixinInterface) & (new (...args: any[]) => import("../common/mixins/FocusableMixin.js").FocusableMixinInterface) & typeof LitElement; /** * Inputs are used to allow users to provide text input when the expected input is short. * As well as plain text, Input supports various types of text, including passwords and numbers. * * @status ready * @category form * @slot label - Use when a label requires more than plain text. * @slot hint - Optional slot that holds hint text for the input. * @slot error - Optional slot that holds error text for the input. * @slot start - Optional slot used to place an icon or prefix at the start of the input. * @slot end - Optional slot used to place an icon or suffix at the end of the input. * * @cssprop [--n-input-inline-size=240px] - Controls the inline size, or width, of the input. * @cssprop [--n-input-background=var(--n-color-active)] - Controls the background of the input, using our [color tokens](/tokens/#color). * @cssprop [--n-input-color=var(--n-color-text)] - Controls the text color of the input, using our [color tokens](/tokens/#color). * @cssprop [--n-input-border-color=var(--n-color-border-strong)] - Controls the border color of the input, using our [color tokens](/tokens/#color). * @cssprop [--n-input-border-radius=var(--n-border-radius-s)] - Controls how rounded the corners are, using [border radius tokens](/tokens/#border-radius). * @cssprop [--n-input-text-align=start] - Controls the alignment of text within the input itself. * @cssprop [--n-label-color=var(--n-color-text)] - Controls the text color of the label, using our [color tokens](/tokens/#color). */ export default class Input extends Input_base { static styles: import("lit").CSSResult[]; private startSlot; private endSlot; private startObserver; private endObserver; private direction; /** * The type of the input. */ type: 'text' | 'email' | 'password' | 'tel' | 'url' | 'search' | 'number' | 'unit' | 'button'; /** * Controls whether the input expands to fill the width of its container. */ expand: boolean; /** * Optionally disallow certain characters from being used inside the input, using a regex pattern. */ disallowPattern?: string; /** * The inputmode attribute provides a hint to the browser about what type of keyboard to open on mobile devices. * Valid values: none, text, decimal, numeric, tel, search, email, url * When not explicitly set, defaults based on input type: * - type="number" → inputmode="numeric" * - type="email" → inputmode="email" * - type="tel" → inputmode="tel" * - type="url" → inputmode="url" * - type="search" → inputmode="search" * Can be explicitly overridden for any type. */ inputmode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url'; render(): import("lit").TemplateResult<1>; private handleKeydown; private handleInputChange; protected handleSelect(e: Event): void; } declare global { interface HTMLElementTagNameMap { 'nord-input': Input; } } export {};