import { type PartialWithUndefined } from '@augment-vir/common'; import { type ViraIconSvg } from '../icons/index.js'; export * from '../util/shared-text-input-logic.js'; /** * Input types for {@link ViraInput}. * * @category Internal */ export declare enum ViraInputType { Default = "text", Password = "password", Email = "email", Number = "number" } /** * A single line input element with all listeners properly attached. Multiple types are allowed with * {@link ViraInputType}. * * @category Input * @category Elements * @see https://electrovir.github.io/vira/book/elements/vira-input */ export declare const ViraInput: import("element-vir").DeclarativeElementDefinition<"vira-input", PartialWithUndefined<{ icon: Pick; /** A suffix that, if provided, is shown following the input field. */ suffix: string; /** A label that is shown above the input, if provided. */ label: string; /** If true, applies error styling. */ hasError: boolean; showClearButton: boolean; type: ViraInputType; }> & { value: string; } & PartialWithUndefined<{ placeholder: string; disabled: boolean; allowedInputs: string | RegExp; blockedInputs: string | RegExp; disableBrowserHelps: boolean; fitText: boolean; attributePassthrough: import("element-vir").AttributeValues; }>, { forcedInputWidth: number; showPassword: boolean; /** * Used to couple the label and input together. This is not applied if no label is * provided. */ randomId: string; }, { /** * Fires whenever a user input created a new value. Does not fire if all input letters are * filtered out due to input restrictions. */ valueChange: import("element-vir").DefineEvent; /** * Fires when inputs are blocked. Useful for showing warnings or error messages to inform * the user why their input did not propagate if it was blocked. This does not fire for text * that was blocked out of programmatic "value" property assignments. */ inputBlocked: import("element-vir").DefineEvent; }, "vira-input-disabled" | "vira-input-fit-text" | "vira-input-clear-button-shown" | "vira-input-error", "vira-input-padding-horizontal" | "vira-input-padding-vertical", readonly [], readonly []>;