import type { ControlSize } from "@charcuterie/tokens"; import { type ComponentPropsWithRef, type ReactNode } from "react"; export type SearchInputSize = Exclude; export type SearchInputProps = Omit, "size" | "type"> & { /** The app-owned glyph inside the clear button. */ clearIcon: ReactNode; clearLabel?: string; /** Override value-derived visibility for an uncontrolled input. */ isClearVisible?: boolean; onClear: () => void; /** Search and clear targets are never smaller than the medium control size. */ size?: SearchInputSize; }; /** * A search field whose clear affordance is a real, labelled icon * button. The native search cancel widget is suppressed because it * is platform-painted, cannot use the token system, and provides a * much smaller pointer target than the control beside it. * * The app supplies the icon and owns the value. `SearchInput` owns * the shape, focus return, accessible button name, and target size. */ export declare const SearchInput: ({ className, clearIcon, clearLabel, defaultValue, isClearVisible, onClear, ref, size, value, ...inputProps }: SearchInputProps) => ReactNode; //# sourceMappingURL=SearchInput.d.ts.map