import type { TypeaheadProps } from '../../Typeahead/types';
/**
 * Props that need special handling (computed from RJSF state) or are RJSF-controlled
 * These are extracted explicitly and NOT spread
 */
export type SelectWidgetNonSpreadableProps = 'name' | 'onChange' | 'onClearAll' | 'onRemoveSelectedClick' | 'onEmptyChange' | 'selectedItems' | 'isMultiple' | 'isDisabled' | 'placeholder' | 'renderOption' | 'children';
/**
 * Props that can be automatically spread from uiOptions
 * New props added to TypeaheadProps will automatically be included here
 */
export type SelectWidgetSpreadableFromUiOptions = Omit<TypeaheadProps, SelectWidgetNonSpreadableProps>;
/**
 * Extract props that can be spread automatically from uiOptions
 * Filters out props that need special handling or are computed from RJSF state
 */
export declare const extractSelectWidgetSpreadableProps: (uiOptions: Record<string, unknown>) => Partial<SelectWidgetSpreadableFromUiOptions>;
