import type { CSSProperties, ElementType, InputHTMLAttributes } from "react";
export interface SearchInputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "className" | "onChange" | "size" | "value"> {
    value?: string;
    onChange?: (value: string) => void;
    onValueChange?: (value: string) => void;
    placeholder?: string;
    className?: string;
    inputClassName?: string;
    inputComponent?: ElementType;
    showSearchIcon?: boolean;
    searchIconPosition?: "left" | "right";
    searchIconClassName?: string;
    showClearIcon?: boolean;
    loading?: boolean;
    background?: "default" | "white";
    size?: "sm" | "md" | "lg" | "xs";
    spinnerStyle?: CSSProperties;
    onClear?: () => void;
    testId?: string;
}
export declare const SearchInput: import("react").ForwardRefExoticComponent<SearchInputProps & import("react").RefAttributes<HTMLInputElement>>;
/**
 * Utility function to highlight matching text in search results
 * @param text - The text to highlight
 * @param filter - The filter string to match
 * @returns JSX elements with highlighted matches
 */
export declare const highlightMatch: (text: string, filter: string) => string | ("" | import("react/jsx-runtime").JSX.Element)[];
