import { ForwardRefExoticComponent, InputHTMLAttributes, ReactElement, ReactNode, RefAttributes } from 'react'; import { validationProps } from '@syncfusion/react-inputs'; import { DropDownProps, DropDownSelectionProps, InputProps } from '../common/types'; /** * Props for the Autocomplete component. * * @default - */ export interface AutocompleteProps extends DropDownProps, 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 the minimum number of characters required before suggestions appear. * * @default 0 */ minLength?: number; /** *Specifies the maximum number of suggestions to display. * *@default - */ maxSuggestions?: number; /** * 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 Autocomplete. */ export interface IAutocomplete extends AutocompleteProps { /** * Reference to the input element. * * @private * @default null */ element?: HTMLInputElement | null; } type IAutocompleteProps = AutocompleteProps & Omit, keyof AutocompleteProps>; /** * Autocomplete 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 { Autocomplete } 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 Autocomplete: ForwardRefExoticComponent>; declare const _default: import("react").NamedExoticComponent, keyof AutocompleteProps> & RefAttributes>; export default _default;