import { ForwardRefExoticComponent, InputHTMLAttributes, ReactElement, ReactNode, RefAttributes } from 'react'; import { validationProps } from '@syncfusion/react-inputs'; import { DropDownProps, DropDownFilterIconProps, DropDownSelectionProps, InputProps } from '../common/types'; /** * Props for the ComboBox component. * * @default - */ export interface ComboBoxProps extends DropDownProps, DropDownFilterIconProps, DropDownSelectionProps, validationProps, InputProps { /** * Specifies whether the input field automatically fills with the first matching * suggestion during typing. The auto-filled portion appears highlighted. * * @default false */ autofill?: boolean; /** * Specifies whether to highlight the matched search text within each suggestion. * * @default false */ autoHighlight?: boolean; /** Specifies whether users can commit custom text values (not in the suggestion list) by pressing Enter. * When enabled, free-form input is accepted as a valid selection. * *@default false */ customValue?: boolean; /** * Specifies a custom template for rendering the value in the input element, allowing for customized appearance. * * @default - */ valueTemplate?: (inputElement: ReactElement) => ReactNode; /** Specifies the callback invoked when a custom value (not in the suggestion list) * is committed via Enter key. Receives the custom string value as a parameter. * * @event onCustomValueSelect */ onCustomValueSelect?: (value: string) => void; } /** * Imperative API for ComboBox. */ export interface IComboBox extends ComboBoxProps { /** * Reference to the input element. * * @private * @default null */ element?: HTMLInputElement | null; } type IComboBoxProps = ComboBoxProps & Omit, keyof ComboBoxProps>; /** * ComboBox lets users type to search or choose a single option from a list. It supports controlled and uncontrolled usage (value / defaultValue), * works with local or remote data sources, supports custom item. * * ```typescript * import { ComboBox } from "@syncfusion/react-dropdowns"; * * export default function App() { * const data = [ * { text: "Apple", value: "apple" }, * { text: "Banana", value: "banana" }, * { text: "Cherry", value: "cherry" } * ]; * * return ( * * ); * } * ``` */ export declare const ComboBox: ForwardRefExoticComponent>; declare const _default: import("react").NamedExoticComponent, keyof ComboBoxProps> & RefAttributes>; export default _default;