import type React from 'react';
import type { Control, FieldPath, FieldValues } from 'react-hook-form';
import type { AddOptionRequiredFields, FormFieldProps, SelectOptionProps } from '#src/types/form.js';
import type { ComboboxProps } from '../combobox/combobox.js';
export interface ComboboxFieldProps<OptionType> extends Omit<ComboboxProps, 'value' | 'onChange' | 'label' | 'children'>, SelectOptionProps<OptionType>, FormFieldProps {
    className?: string;
    noResultsText?: React.ReactNode;
}
/**
 * Field with label and error states that wraps a Combobox component.
 */
declare function ComboboxField<OptionType>({ label, description, error, value, placeholder, options, renderItemLabel, onChange, getOptionLabel, getOptionValue, className, noResultsText, ...props }: ComboboxFieldProps<OptionType> & AddOptionRequiredFields<OptionType>): React.ReactElement;
interface ComboboxFieldControllerPropsBase<OptionType, TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> extends Omit<ComboboxFieldProps<OptionType>, 'value'> {
    control: Control<TFieldValues>;
    name: TFieldName;
}
type ComboboxFieldControllerProps<OptionType, TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>> = ComboboxFieldControllerPropsBase<OptionType, TFieldValues, TFieldName>;
declare function ComboboxFieldController<OptionType, TFieldValues extends FieldValues = FieldValues, TFieldName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>({ name, control, ...rest }: ComboboxFieldControllerProps<OptionType, TFieldValues, TFieldName> & AddOptionRequiredFields<OptionType>): React.ReactElement;
export { ComboboxField, ComboboxFieldController };
//# sourceMappingURL=combobox-field.d.ts.map