import type { ComponentPropsWithoutRef, ReactElement, ReactNode } from 'react';
import type { SystemComponent } from '../../types';
import type { Locale } from './intl';
export { unstableUseSearchBoxState } from './hooks/useSearchBoxState';
interface SearchBoxProps {
    state: any;
    children?: ReactNode;
    locale?: Locale;
}
declare function __SearchBox(props: SearchBoxProps): JSX.Element;
interface InputProps extends ComponentPropsWithoutRef<'input'> {
    onClear?: () => void;
}
declare function Input(props: InputProps): JSX.Element;
interface MenuProps extends SystemComponent {
    emptyView?: ReactNode;
    children?: ReactElement;
}
declare function Menu(props: MenuProps): JSX.Element;
interface CloneProps {
}
interface SuggestionProps extends SystemComponent, CloneProps {
    children?: (item: any) => ReactNode;
}
declare function Suggestion(props: SuggestionProps): JSX.Element;
/**
 * SearchBox footer
 * @example
 * <SearchBox>
 *  <SearchBox.Footer />
 * </SearchBox>
 */
declare function Footer(): JSX.Element | null;
export declare const unstableSearchBox: typeof __SearchBox & {
    Input: typeof Input;
    Menu: typeof Menu;
    Suggestion: typeof Suggestion;
    Footer: typeof Footer;
};
