import React from 'react'; export type IconProps = { classNames: Partial; }; export type SearchBoxClassNames = { /** * Class names to apply to the root element */ root: string; /** * Class names to apply to the form element */ form: string; /** * Class names to apply to the input element */ input: string; /** * Class names to apply to the submit button */ submit: string; /** * Class names to apply to the reset button */ reset: string; /** * Class names to apply to the loading indicator element */ loadingIndicator: string; /** * Class names to apply to the submit icon */ submitIcon: string; /** * Class names to apply to the reset icon */ resetIcon: string; /** * Class names to apply to the loading icon */ loadingIcon: string; }; export type SearchBoxTranslations = { /** * The alternative text of the submit button. */ submitButtonTitle: string; /** * The alternative text of the reset button. */ resetButtonTitle: string; }; export type SearchBoxProps = Omit, 'onSubmit' | 'onReset' | 'onChange'> & Pick, 'onSubmit'> & Required, 'onReset'>> & Pick, 'placeholder' | 'onChange' | 'autoFocus'> & { formRef?: React.RefObject; inputRef: React.RefObject; isSearchStalled: boolean; value: string; resetIconComponent?: React.JSXElementConstructor; submitIconComponent?: React.JSXElementConstructor; loadingIconComponent?: React.JSXElementConstructor; classNames?: Partial; translations: SearchBoxTranslations; }; export declare function SearchBox({ formRef, inputRef, isSearchStalled, onChange, onReset, onSubmit, placeholder, value, autoFocus, resetIconComponent: ResetIcon, submitIconComponent: SubmitIcon, loadingIconComponent: LoadingIcon, classNames, translations, ...props }: SearchBoxProps): JSX.Element;