import React, { type HTMLInputTypeAttribute, type ReactNode } from 'react';
import { type BoxProps } from '../Box/Box';
export interface FunInputProps<T = HTMLInputElement> {
    prefix?: ReactNode;
    suffix?: ReactNode;
    prefixIcon?: 'SearchIcon' | '$';
    placeholder?: string;
    value: string | number | readonly string[] | undefined;
    label?: string;
    onChange: (value: React.ChangeEvent<T>) => void;
    onKeyDown?: (e: React.KeyboardEvent<T>) => void;
    onKeySubmit?: () => void;
    onPaste?: (e: React.ClipboardEvent<T>) => void;
    onMouseDown?: (e: React.MouseEvent<T>) => void;
    inputStyle?: React.CSSProperties;
    inputProps?: React.HTMLProps<T> & {
        type?: HTMLInputTypeAttribute;
    };
    error?: string | boolean;
    alwaysFocused?: boolean;
    /** Color meant for prefix & suffix elements. Defaults to secondaryText. */
    adornmentColor?: BoxProps['color'];
    textWeight?: BoxProps['fontWeight'];
    overrideBorderWidth?: undefined | BoxProps['borderWidth'];
    overrideBackground?: BoxProps['background'];
    borderRadius?: BoxProps['borderRadius'];
    isLoading?: boolean;
}
export declare const FunInput: React.ForwardRefExoticComponent<FunInputProps<HTMLInputElement> & React.RefAttributes<HTMLInputElement>>;
