export { D as AutocompleteItem, a as AutocompleteItemGroup } from '../../../DropdownItemGroup-ROk6PMJ3.js';
import { C as CombinedRefs$1, a as DropdownItemGroupProps } from '../../../DropdownItemSeparator-CX3ElAQM.js';
export { D as AutocompleteItemSeparator } from '../../../DropdownItemSeparator-CX3ElAQM.js';
import * as react from 'react';
import { ReactNode, ChangeEvent, AllHTMLAttributes } from 'react';
import { DropdownMenuContentProps } from '@radix-ui/react-dropdown-menu';
import { I as InputTextProps } from '../../../InputText.types-3IoJeRV8.js';
import * as react_jsx_runtime from 'react/jsx-runtime';
import '../../../InputRadio.types-B6eiCPav.js';
import '@radix-ui/react-radio-group';
import '../../../Paper.constants-Cpa8Sb1b.js';
import '../../../Button.types-B8XilI28.js';
import '../../types.js';
import '@snowball-tech/design-tokens/dist/web/typescript/constants';
import '../../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 AutocompleteItemGroupProps = DropdownItemGroupProps;

declare const Autocomplete: react.ForwardRefExoticComponent<AutocompleteProps & react.RefAttributes<CombinedRefs>>;

declare const AutocompleteEmpty: {
    ({ children, label, ...props }: AutocompleteEmptyProps): react_jsx_runtime.JSX.Element;
    displayName: string;
};

declare const AutocompleteLoading: {
    ({ children, icon, label, spin, ...props }: AutocompleteLoadingProps): react_jsx_runtime.JSX.Element;
    displayName: string;
};

export { Autocomplete, AutocompleteEmpty, type AutocompleteEmptyProps, type AutocompleteItemGroupProps, AutocompleteLoading, type AutocompleteLoadingProps, type AutocompleteProps, type CombinedRefs as AutocompleteRefs };
