/** * @license *------------------------------------------------------------------------------------------- * Copyright © 2026 Progress Software Corporation. All rights reserved. * Licensed under commercial license. See LICENSE.md in the package root for more information *------------------------------------------------------------------------------------------- */ import { SpeechToTextResultEvent } from '@progress/kendo-react-buttons'; import { SmartBoxMode } from '../interfaces/index.js'; import * as React from 'react'; /** * Represents the props for the useSmartBoxInput hook. * * @hidden */ export interface UseSmartBoxInputProps { /** * The currently selected view mode. */ selectedView: SmartBoxMode | null; /** * Ref to the input element. */ inputRef: React.RefObject; /** * Function to toggle the popup visibility. */ togglePopup: (open: boolean) => void; /** * Function to emit a search event with the provided value. */ emitSearchEvent: (value: string) => void; /** * State setter for the search value. */ setSearchValue: React.Dispatch>; /** * Callback fired when the input receives focus. */ onFocus?: () => void; /** * Callback fired when the input loses focus. */ onBlur?: () => void; } /** * Represents the return value of the useSmartBoxInput hook. * * @hidden */ export interface UseSmartBoxInputResult { /** * The current value of the input. */ inputValue: string; /** * State setter for the input value. */ setInputValue: React.Dispatch>; /** * Handler for input change events. */ handleInputChange: (event: React.ChangeEvent) => void; /** * Handler for input focus events. */ handleInputFocus: () => void; /** * Handler for input click events. */ handleInputClick: () => void; /** * Handler for clearing the input value. */ handleClearValue: (event: React.MouseEvent) => void; /** * Handler for speech-to-text result events. */ handleSpeechResult: (event: SpeechToTextResultEvent) => void; /** * Handler for blur events on the wrapper element. */ handleWrapperBlur: (event: React.FocusEvent, wrapperRef: React.RefObject) => void; } /** * Hook to manage SmartBox input state and event handlers. * * This hook provides input value management and event handlers for * text input, focus, blur, clear, and speech-to-text functionality. * * @param props - The hook properties. * @returns An object containing input state and event handlers. * * @hidden */ export declare function useSmartBoxInput({ selectedView, inputRef, togglePopup, emitSearchEvent, setSearchValue, onFocus, onBlur }: UseSmartBoxInputProps): UseSmartBoxInputResult;