import { PassThroughProps, Size } from '../../../types';
import { ReactElement, RefObject } from 'react';
/**
 * Props for the SelectFieldInput component
 * @property {string} [placeholder] - Placeholder text displayed when input is empty
 * @property {Extract<Size, "small" | "medium" | "large">} [size] - Size variant of the input
 * @property {boolean} [disableClearButton] - Hides the clear button when true
 * @property {boolean} [disableToggleButton] - Hides the toggle button when true
 * @property {boolean} [disabled] - Disables the input entirely
 * @property {boolean} [readOnly] - Cannot be modified but remains interactive
 * @property {boolean} [isHighlighted] - Applies a subdued primary background to draw attention to the field
 * @property {boolean} [required] - Marks the input as required for form validation
 * @property {boolean} [error] - Shows error styling on the input when true
 * @property {() => void} [onClear] - Callback fired when the clear button is clicked
 * @property {string} [id] - HTML id attribute for the input element
 * @property {RefObject<HTMLDivElement>} [inputWrapperRef] - Ref for the input wrapper div element
 * @property {PassThroughProps<"div">} [htmlInputWrapperProps] - Additional props passed to the wrapper div
 * @property {PassThroughProps<"input">} [inputProps] - Additional props passed to the input element
 * @property {PassThroughProps<"button">} [toggleButtonProps] - Additional props passed to the toggle button
 * @property {string | ReactElement} [prefix] - Content to display before the input
 * @property {string | ReactElement} [suffix] - Content to display after the input
 */
export type SelectFieldInputProps = {
    placeholder?: string;
    size?: Extract<Size, "small" | "medium" | "large">;
    disableClearButton?: boolean;
    disableToggleButton?: boolean;
    disabled?: boolean;
    readOnly?: boolean;
    isHighlighted?: boolean;
    required?: boolean;
    error?: boolean;
    onClear?: () => void;
    id?: string;
    inputWrapperRef?: RefObject<HTMLDivElement>;
    htmlInputWrapperProps?: PassThroughProps<"div">;
    inputProps?: PassThroughProps<"input">;
    toggleButtonProps?: PassThroughProps<"button">;
    prefix?: string | ReactElement;
    suffix?: string | ReactElement;
};
/**
 * Internal input component for the SelectField that provides the text input and action buttons.
 *
 * Features:
 * - Text input for filtering and displaying selected values
 * - Optional clear button for removing the current selection
 * - Optional toggle button for opening/closing the dropdown menu
 * - Supports multiple size variants (small, medium, large)
 * - Fully accessible with proper ARIA labels on buttons
 * - Supports pass-through props for customization of internal elements
 * - Optional prefix and suffix content
 * - Error state styling
 *
 * @example
 * <SelectFieldInput
 *   placeholder="Search..."
 *   size="medium"
 *   onClear={() => handleClear()}
 *   prefix="$"
 * />
 */
export declare const SelectFieldInput: {
    ({ placeholder, size, disableClearButton, disableToggleButton, disabled, readOnly, isHighlighted, required, error, onClear, id, inputWrapperRef, htmlInputWrapperProps, inputProps, toggleButtonProps, prefix, suffix, }: SelectFieldInputProps): import("react/jsx-runtime").JSX.Element;
    displayName: string;
};
