import { InputHTMLAttributes, Ref } from 'react';
import { StyleProps } from '../../style-engine';
import { FormElementProps } from './types';
declare const comboBoxContainerStyles: import('../../style-engine').StylesDef<{
state: {
disabled: string;
readonly: string;
};
} & {
state: {
default: string;
error: string;
};
size: {
sm: string;
md: string;
lg: string;
};
}>;
type ComboBoxStyleProps = StyleProps;
export interface ComboBoxOption {
value: string | number;
label: string;
}
export interface ComboBoxProps extends Omit, 'value' | 'onChange' | 'type' | 'size' | 'color' | keyof ComboBoxStyleProps>, ComboBoxStyleProps, FormElementProps {
ref?: Ref;
loadOptions: (inputValue: string) => Promise;
isMulti?: IsMulti;
value?: (IsMulti extends true ? ComboBoxOption[] : ComboBoxOption) | null;
onChange?: (val: IsMulti extends true ? ComboBoxOption[] : ComboBoxOption) => void;
open?: boolean;
defaultOpen?: boolean;
onOpenChange?: (open: boolean) => void;
debounceTime?: number;
noOptionsMessage?: string;
containerClassName?: string;
}
export declare function ComboBox({ containerClassName, invalid, error, errorId, loadOptions, isMulti, value, onChange, open, defaultOpen, onOpenChange, placeholder, debounceTime, noOptionsMessage, disabled, size, state, ref, ...props }: ComboBoxProps): import("react").JSX.Element;
export {};