import * as React from 'react';
import { SearchBarAPI } from '../search-bar/index.js';
export { searchBarVariants, searchResultVariants } from '../search-bar/index.js';

interface SearchBarContextValue {
    api: SearchBarAPI;
    value: string;
    isSearching: boolean;
    setValue: (value: string) => void;
    clear: () => void;
}
interface SearchBarProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'value' | 'onChange'> {
    value?: string;
    defaultValue?: string;
    onValueChange?: (value: string) => void;
    onSearch?: (value: string) => void;
    debounceMs?: number;
    loading?: boolean;
    children?: React.ReactNode;
}
declare function SearchBar({ value: controlledValue, defaultValue, onValueChange, onSearch, debounceMs, loading, placeholder, className, children, ...inputProps }: SearchBarProps): React.FunctionComponentElement<React.ProviderProps<SearchBarContextValue | null>>;
declare namespace SearchBar {
    var displayName: string;
}
interface SearchResultsProps extends React.HTMLAttributes<HTMLUListElement> {
}
declare const SearchResults: React.ForwardRefExoticComponent<SearchResultsProps & React.RefAttributes<HTMLUListElement>>;
interface SearchResultItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
}
declare const SearchResultItem: React.ForwardRefExoticComponent<SearchResultItemProps & React.RefAttributes<HTMLLIElement>>;

export { SearchBar, type SearchBarProps, SearchResultItem, type SearchResultItemProps, SearchResults, type SearchResultsProps };
