import React, { ComponentProps, ReactNode } from "react"; import type { KeepBoolean, KeepColors, KeepSizes } from "../../Keep/KeepTheme"; export interface keepTextInputTheme { base: string; addon: { base: string; separator: { colors: TextInputColors; }; position: { left: string; right: string; }; }; field: { base: string; icon: { base: string; position: { left: string; right: string; }; }; input: { base: string; disabled: string; sizes: TextInputSizes; colors: TextInputColors; withBorder: KeepBoolean; withBg: { on: { colors: TextInputColors; }; off: string; }; withIcon: { on: { left: string; right: string; }; off: string; }; withAddon: { on: { left: string; right: string; }; off: string; }; withShadow: KeepBoolean; }; }; } export interface TextInputColors extends Pick { [key: string]: string; } export interface TextInputSizes extends Pick { [key: string]: string; } export interface TextInputProps extends Omit, "ref" | "color" | "className"> { sizing?: keyof TextInputSizes; withBg?: boolean; border?: boolean; shadow?: boolean; disabled?: boolean; helperText?: ReactNode; addon?: ReactNode; addonPosition?: "left" | "right"; icon?: ReactNode; iconPosition?: "left" | "right"; color?: keyof TextInputColors; value?: string; handleOnChange?: (e: React.ChangeEvent) => void; } export declare const TextInput: React.ForwardRefExoticComponent>;