import type { ChildrenList } from '@furystack/shades';
import type { SuggestionResult } from './suggestion-result.js';
export * from './suggest-input.js';
export * from './suggest-manager.js';
export * from './suggestion-list.js';
export * from './suggestion-result.js';
type SuggestAsyncProps<T> = {
    defaultPrefix: JSX.Element | string;
    getEntries: (term: string) => Promise<T[]>;
    getSuggestionEntry: (entry: T) => SuggestionResult;
    onSelectSuggestion: (entry: T) => void;
    style?: Partial<CSSStyleDeclaration>;
};
type SuggestSyncProps = {
    defaultPrefix: JSX.Element | string;
    /** Static list of string suggestions. Filtered client-side by the search term. When the term is empty, all suggestions are shown. */
    suggestions: string[];
    onSelectSuggestion: (entry: string) => void;
    style?: Partial<CSSStyleDeclaration>;
};
export type SuggestProps<T> = SuggestAsyncProps<T> | SuggestSyncProps;
export declare const Suggest: <T>(props: SuggestProps<T>, children: ChildrenList) => JSX.Element<any>;
//# sourceMappingURL=index.d.ts.map