import { SearchFieldProps as CoreSearchFieldProps } from './internal/SearchField';
import { DistributiveOmit } from '../../types';
/**
 * Props for the SearchField component
 * @extends Omit<ComponentPropsWithoutRef<"input">, "size" | "prefix" | "required" | "children">
 * @extends LayoutUtilProps
 */
export type SearchFieldProps = DistributiveOmit<CoreSearchFieldProps, "size"> & {
    /**
     * Size of the search field
     * @default "medium"
     */
    size?: Extract<CoreSearchFieldProps["size"], "small" | "medium" | "large">;
};
/**
 * SearchField component: a text input with a search or magnifying-glass affordance for filtering or searching results by typing a query.
 *
 * Features:
 * - Search icon prefix for visual clarity
 * - Clear button that appears when input has value
 * - Arrow key navigation between input and clear button (Right arrow to clear button, Left arrow back to input)
 * - Clear button activated with Enter/Space keys
 * - Focus returns to input after clearing
 * - Multiple size variants (small, medium, large)
 * - Controlled and uncontrolled modes
 * - Disabled and read-only states
 * - Accessibility support with proper ARIA attributes
 * - Layout utility props for positioning and spacing
 * - Automatic value detection for clear button visibility
 * - Search-specific input type and autocomplete settings
 * - Screen reader support with placeholder announcements
 * - Automatic tracking ID generation for analytics
 *
 * @example
 * <SearchField
 *   placeholder="Search users..."
 *   onChange={(e) => setSearchTerm(e.target.value)}
 *   onClear={() => setSearchTerm("")}
 * />
 *
 * @example
 * <SearchField
 *   size="large"
 *   value={searchValue}
 *   onChange={(e) => setSearchValue(e.target.value)}
 *   disabled={isLoading}
 * />
 */
export declare const SearchField: import('react').ForwardRefExoticComponent<Omit<CoreSearchFieldProps, "size"> & {
    /**
     * Size of the search field
     * @default "medium"
     */
    size?: Extract<CoreSearchFieldProps["size"], "small" | "medium" | "large">;
} & import('react').RefAttributes<HTMLInputElement>>;
