import { DropdownMenuContentProps } from '@radix-ui/react-dropdown-menu';
import { ReactNode, ChangeEvent, AllHTMLAttributes } from 'react';
import { CombinedRefs as CombinedRefs$1, DropdownItemGroupProps, DropdownItemProps } from '../Dropdown/Dropdown.types.js';
import { InputTextProps } from '../InputText/InputText.types.js';
import '../InputRadio/InputRadio.types.js';
import '@radix-ui/react-radio-group';
import '../InputRadio/InputRadio.constants.js';
import '../Paper/Paper.constants.js';
import '../Button/Button.types.js';
import '@snowball-tech/design-tokens/dist/web/typescript/constants';
import '../constants-QFINMz1u.js';
import '../Button/Button.constants.js';

type CombinedRefs = {
    container: HTMLDivElement | null;
    dropdown: CombinedRefs$1 | null;
    input: HTMLInputElement | null;
};
interface AutocompleteProps extends Omit<InputTextProps, 'onBlur' | 'onSelect'> {
    autoFocus?: boolean;
    children?: ReactNode;
    defaultValue?: number | string;
    description?: string;
    disabled?: boolean;
    dropdown?: Partial<{
        className?: string;
    } & Omit<DropdownMenuContentProps, 'asChild'>>;
    error?: string;
    fullWidth?: boolean;
    id?: string;
    label?: string;
    name?: string;
    open?: boolean;
    placeholder?: string;
    prefix?: ReactNode;
    readOnly?: boolean;
    required?: boolean;
    success?: string;
    suffix?: ReactNode;
    value?: number | string;
    onBlur?: () => void;
    onChange?: (event: ChangeEvent<HTMLInputElement> | null, newValue: string) => void;
    onClose?: () => void;
    onInputChange?: (event: ChangeEvent<HTMLInputElement>, newValue: string) => void;
    onOpen?: () => void;
}
interface AutocompleteLoadingProps extends AllHTMLAttributes<HTMLDivElement> {
    children?: ReactNode;
    icon?: boolean | ReactNode;
    label?: string;
    spin?: boolean;
}
interface AutocompleteEmptyProps extends AllHTMLAttributes<HTMLDivElement> {
    children?: ReactNode;
    label?: string;
}
type AutocompleteItemProps = DropdownItemProps;
type AutocompleteItemGroupProps = DropdownItemGroupProps;
type AutocompleteItemSeparatorProps = AllHTMLAttributes<HTMLDivElement>;

export type { AutocompleteEmptyProps, AutocompleteItemGroupProps, AutocompleteItemProps, AutocompleteItemSeparatorProps, AutocompleteLoadingProps, AutocompleteProps, CombinedRefs };
