import React from "react";
import { BoxProps } from "../../atoms/box/box";
import { TextInputProps } from "react-native";
import { ResponsiveValue, PaletteColors, MoleculeComponentProps, StateProps } from "../../../theme/src/types";
import { InputAtoms } from "./input.config";
export type BaseInputProps = Omit<TextInputProps, "placeholderTextColor" | "selectionColor"> & BoxProps & StateProps<"_focused" | "_disabled" | "_invalid"> & {
    /**
     * Whether the input field is disabled.
     *
     * @default false
     */
    isDisabled?: boolean;
    /**
     * Whether the input field should span the entire width of the parent container.
     *
     * @default false
     */
    isFullWidth?: boolean;
    /**
     * Whether there the input field is in an invalid state.
     *
     * @default false
     */
    isInvalid?: boolean;
    /**
     * Whether the input field should display a clear button.
     *
     * @default false
     */
    hasClearButton?: boolean;
    /** Icon to display on the left side of the text input */
    leftIcon?: React.ReactElement;
    /** Icon to display on the right side of the text input */
    rightIcon?: React.ReactElement;
    /**
     * Custom color of the placeholder text string.
     *
     * @default "neutral.500"
     */
    placeholderTextColor?: ResponsiveValue<PaletteColors>;
    /**
     * Custom color of the highlight and cursor color.
     *
     * @default "primary.500"
     */
    selectionColor?: ResponsiveValue<PaletteColors>;
};
export type InputProps = Omit<MoleculeComponentProps<"Input", BaseInputProps, InputAtoms>, "atoms"> & {
    atoms?: InputAtoms;
};
/** The Input component is a component that is used to get user input in a text field. **/
declare const Input: React.MemoExoticComponent<React.ForwardRefExoticComponent<Omit<InputProps, "ref"> & React.RefAttributes<unknown>>>;
export default Input;
//# sourceMappingURL=input.d.ts.map