/// <reference types="react" />
import * as react_jsx_runtime from 'react/jsx-runtime';

type CustomClassType = {
    parentContainerClass?: string;
    inputFieldClass?: string;
    listContainerClass?: string;
    dropdownUnorderedListClass?: string;
    dropdownListClass?: string;
    noResultClass?: string;
    inputLabelContainerClass?: string;
    inputLabelClass?: string;
    customSpinnerClass?: string;
    viewMoreClass?: string;
};
type CustomStyleType = {
    parentContainerStyle?: React.CSSProperties;
    inputFieldStyle?: React.CSSProperties;
    listContainerStyle?: React.CSSProperties;
    dropdownUnorderedListStyle?: React.CSSProperties;
    dropdownListStyle?: React.CSSProperties;
    noResultStyle?: React.CSSProperties;
    inputLabelContainerStyle?: React.CSSProperties;
    inputLabelStyle?: React.CSSProperties;
    customSpinnerStyle?: React.CSSProperties;
    viewMoreStyle?: React.CSSProperties;
};
type CustomAriaType = {
    ariaRole?: string;
    ariaRoleDescription?: string;
    ariaNoSearchResult?: string;
    ariaULList?: string;
    ariaListContainer?: string;
    ariaInputField?: string;
    ariaInputLabel?: string;
    ariaViewMore?: string;
};

type AutoCompleteProps = {
    dropdownData: any[];
    objectProperty?: string;
    initialVisibleData?: number;
    scrollThreshold?: number;
    inspectAutoCompleteList?: boolean;
    placeHolder?: string;
    showdropDownArrow?: boolean;
    showClearOption?: boolean;
    defaultValue?: any;
    noSearchResultMessage?: string;
    totalRecords?: number;
    disableProperty?: string;
    disableListFn?: Function | undefined;
    customClass?: CustomClassType;
    isAutoCompleteDisabled?: boolean;
    customStyle?: CustomStyleType;
    triggerBlurEvent?: Function | undefined;
    triggerOnFocusEvent?: Function | undefined;
    broadcastSelectedValue?: Function | undefined;
    triggerClearSelectionEvent?: Function | undefined;
    triggerApiLoadEvent?: Function | undefined;
    isScrollThresholdRequired?: boolean;
    showLoadingSpinner?: boolean;
    isCustomSpinner?: boolean;
    inputLabel?: string;
    showInputlabel?: boolean;
    aria?: CustomAriaType;
    isApiLoad?: boolean;
    searchFn?: Function | undefined;
    viewMoreText?: string;
    showViewMore?: boolean;
    optViewMoreOnlyForApiCall?: boolean;
};
declare function Autocomplete(props: AutoCompleteProps): react_jsx_runtime.JSX.Element;

export { Autocomplete, type CustomAriaType, type CustomClassType, type CustomStyleType };
