import { AutoCompletePassThrough, AutoCompleteCompleteEvent, AutoCompleteSelectEvent, AutoCompleteUnselectEvent, AutoCompleteAddEvent, AutoCompleteDropdownClickEvent, AutoCompleteLazyLoadEvent, AutoCompleteItemTemplateContext, AutoCompleteSelectedItemTemplateContext, AutoCompleteGroupTemplateContext, AutoCompleteLoaderTemplateContext, AutoCompleteRemoveIconTemplateContext } from 'primeng/types/autocomplete';
export * from 'primeng/types/autocomplete';
import * as _angular_core from '@angular/core';
import { InjectionToken, ElementRef, TemplateRef } from '@angular/core';
import * as _angular_forms from '@angular/forms';
import { MotionOptions } from '@primeuix/motion';
import * as i2 from 'primeng/api';
import { ScrollerOptions, OverlayOptions, OverlayService } from 'primeng/api';
import { BaseInput } from 'primeng/baseinput';
import * as i1 from 'primeng/bind';
import { Bind } from 'primeng/bind';
import { ConnectedOverlayScrollHandler } from 'primeng/dom';
import { Overlay } from 'primeng/overlay';
import { Scroller } from 'primeng/scroller';
import { Nullable } from 'primeng/ts-helpers';
import { CSSProperties, AppendTo } from 'primeng/types/shared';
import { BaseStyle } from 'primeng/base';

/**
 *
 * AutoComplete is an input component that provides real-time suggestions while being typed.
 *
 * [Live Demo](https://www.primeng.org/autocomplete/)
 *
 * @module autocompletestyle
 *
 */
declare enum AutoCompleteClasses {
    /**
     * Class name of the root element
     */
    root = "p-autocomplete",
    /**
     * Class name of the input element
     */
    pcInputText = "p-autocomplete-input",
    /**
     * Class name of the input multiple element
     */
    inputMultiple = "p-autocomplete-input-multiple",
    /**
     * Class name of the chip item element
     */
    chipItem = "p-autocomplete-chip-item",
    /**
     * Class name of the chip element
     */
    pcChip = "p-autocomplete-chip",
    /**
     * Class name of the chip icon element
     */
    chipIcon = "p-autocomplete-chip-icon",
    /**
     * Class name of the input chip element
     */
    inputChip = "p-autocomplete-input-chip",
    /**
     * Class name of the loader element
     */
    loader = "p-autocomplete-loader",
    /**
     * Class name of the dropdown element
     */
    dropdown = "p-autocomplete-dropdown",
    /**
     * Class name of the panel element
     */
    panel = "p-autocomplete-overlay",
    /**
     * Class name of the list element
     */
    list = "p-autocomplete-list",
    /**
     * Class name of the option group element
     */
    optionGroup = "p-autocomplete-option-group",
    /**
     * Class name of the option element
     */
    option = "p-autocomplete-option",
    /**
     * Class name of the empty message element
     */
    emptyMessage = "p-autocomplete-empty-message",
    /**
     * Class name of the clear icon
     */
    clearIcon = "p-autocomplete-clear-icon"
}
declare class AutoCompleteStyle extends BaseStyle {
    name: string;
    style: string;
    classes: {
        root: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-invalid': any;
            'p-focus': any;
            'p-inputwrapper-filled': any;
            'p-inputwrapper-focus': any;
            'p-autocomplete-open': any;
            'p-autocomplete-fluid': any;
        })[];
        pcInputText: string;
        inputMultiple: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-disabled': any;
            'p-variant-filled': boolean;
        })[];
        clearIcon: string;
        chipItem: ({ instance, i }: {
            instance: any;
            i: any;
        }) => (string | {
            'p-focus': boolean;
        })[];
        pcChip: string;
        chipIcon: string;
        inputChip: string;
        loader: string;
        dropdown: string;
        overlay: ({ instance }: {
            instance: any;
        }) => (string | {
            'p-input-filled': boolean;
            'p-ripple-disabled': boolean;
        })[];
        listContainer: string;
        list: string;
        optionGroup: string;
        option: ({ instance, option, i, scrollerOptions }: {
            instance: any;
            option: any;
            i: any;
            scrollerOptions: any;
        }) => {
            'p-autocomplete-option': boolean;
            'p-autocomplete-option-selected': any;
            'p-focus': boolean;
            'p-disabled': any;
        };
        emptyMessage: string;
    };
    inlineStyles: {
        root: {
            position: string;
        };
    };
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutoCompleteStyle, never>;
    static ɵprov: _angular_core.ɵɵInjectableDeclaration<AutoCompleteStyle>;
}
interface AutoCompleteStyle extends BaseStyle {
}

declare const AUTOCOMPLETE_VALUE_ACCESSOR: {
    provide: InjectionToken<readonly _angular_forms.ControlValueAccessor[]>;
    useExisting: _angular_core.Type<any>;
    multi: boolean;
};
/**
 * AutoComplete is an input component that provides real-time suggestions when being typed.
 * @group Components
 */
declare class AutoComplete extends BaseInput<AutoCompletePassThrough> {
    componentName: string;
    $pcAutoComplete: AutoComplete | undefined;
    bindDirectiveInstance: Bind;
    /**
     * Minimum number of characters to initiate a search.
     * @group Props
     */
    minQueryLength: _angular_core.InputSignal<number | undefined>;
    /**
     * Delay between keystrokes to wait before sending a query.
     * @group Props
     */
    delay: _angular_core.InputSignalWithTransform<number, unknown>;
    /**
     * Inline style of the overlay panel element.
     * @group Props
     */
    panelStyle: _angular_core.InputSignal<CSSProperties>;
    /**
     * Style class of the overlay panel element.
     * @group Props
     */
    panelStyleClass: _angular_core.InputSignal<string | undefined>;
    /**
     * Inline style of the input field.
     * @group Props
     */
    inputStyle: _angular_core.InputSignal<CSSProperties>;
    /**
     * Identifier of the focus input to match a label defined for the component.
     * @group Props
     */
    inputId: _angular_core.InputSignal<string | undefined>;
    /**
     * Inline style of the input field.
     * @group Props
     */
    inputStyleClass: _angular_core.InputSignal<string | undefined>;
    /**
     * Hint text for the input field.
     * @group Props
     */
    placeholder: _angular_core.InputSignal<string | undefined>;
    /**
     * When present, it specifies that the input cannot be typed.
     * @group Props
     */
    readonly: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Maximum height of the suggestions panel.
     * @group Props
     */
    scrollHeight: _angular_core.InputSignal<string>;
    /**
     * Defines if data is loaded and interacted with in lazy manner.
     * @group Props
     */
    lazy: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether the data should be loaded on demand during scroll.
     * @group Props
     */
    virtualScroll: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Height of an item in the list for VirtualScrolling.
     * @group Props
     */
    virtualScrollItemSize: _angular_core.InputSignal<number | undefined>;
    /**
     * Whether to use the scroller feature. The properties of scroller component can be used like an object in it.
     * @group Props
     */
    virtualScrollOptions: _angular_core.InputSignal<ScrollerOptions | undefined>;
    /**
     * When enabled, highlights the first item in the list by default.
     * @group Props
     */
    autoHighlight: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * When present, autocomplete clears the manual input if it does not match of the suggestions to force only accepting values from the suggestions.
     * @group Props
     */
    forceSelection: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Type of the input, defaults to "text".
     * @group Props
     */
    type: _angular_core.InputSignal<string>;
    /**
     * Whether to automatically manage layering.
     * @group Props
     */
    autoZIndex: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Base zIndex value to use in layering.
     * @group Props
     */
    baseZIndex: _angular_core.InputSignalWithTransform<number, unknown>;
    /**
     * Defines a string that labels the input for accessibility.
     * @group Props
     */
    ariaLabel: _angular_core.InputSignal<string | undefined>;
    /**
     * Defines a string that labels the dropdown button for accessibility.
     * @group Props
     */
    dropdownAriaLabel: _angular_core.InputSignal<string | undefined>;
    /**
     * Specifies one or more IDs in the DOM that labels the input field.
     * @group Props
     */
    ariaLabelledBy: _angular_core.InputSignal<string | undefined>;
    /**
     * Icon class of the dropdown icon.
     * @group Props
     */
    dropdownIcon: _angular_core.InputSignal<string | undefined>;
    /**
     * Ensures uniqueness of selected items on multiple mode.
     * @group Props
     */
    unique: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to display options as grouped when nested options are provided.
     * @group Props
     */
    group: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to run a query when input receives focus.
     * @group Props
     */
    completeOnFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * When enabled, a clear icon is displayed to clear the value.
     * @group Props
     */
    showClear: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Displays a button next to the input field when enabled.
     * @group Props
     */
    dropdown: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to show the empty message or not.
     * @group Props
     */
    showEmptyMessage: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Specifies the behavior dropdown button. Default "blank" mode sends an empty string and "current" mode sends the input value.
     * @group Props
     */
    dropdownMode: _angular_core.InputSignal<string>;
    /**
     * Specifies if multiple values can be selected.
     * @deprecated Use InputTags component instead for chips/tags input functionality.
     * @group Props
     */
    multiple: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * When enabled, the input value is added to the selected items on tab key press when multiple is true and typeahead is false.
     * @deprecated Use InputTags component instead for chips/tags input functionality.
     * @group Props
     */
    addOnTab: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Index of the element in tabbing order.
     * @group Props
     */
    tabindex: _angular_core.InputSignal<number | undefined>;
    /**
     * A property to uniquely identify a value in options.
     * @group Props
     */
    dataKey: _angular_core.InputSignal<string | undefined>;
    /**
     * Text to display when there is no data. Defaults to global value in i18n translation configuration.
     * @group Props
     */
    emptyMessage: _angular_core.InputSignal<string | undefined>;
    /**
     * When present, it specifies that the component should automatically get focus on load.
     * @group Props
     */
    autofocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Used to define a string that autocomplete attribute the current element.
     * @group Props
     */
    autocomplete: _angular_core.InputSignal<string>;
    /**
     * Name of the options field of an option group.
     * @group Props
     */
    optionGroupChildren: _angular_core.InputSignal<string>;
    /**
     * Name of the label field of an option group.
     * @group Props
     */
    optionGroupLabel: _angular_core.InputSignal<string>;
    /**
     * Options for the overlay element.
     * @group Props
     */
    overlayOptions: _angular_core.InputSignal<OverlayOptions | undefined>;
    /**
     * An array of suggestions to display.
     * @group Props
     */
    suggestions: _angular_core.InputSignal<any[]>;
    /**
     * Property name or getter function to use as the label of an option.
     * @group Props
     */
    optionLabel: _angular_core.InputSignal<string | ((item: any) => string) | undefined>;
    /**
     * Property name or getter function to use as the value of an option.
     * @group Props
     */
    optionValue: _angular_core.InputSignal<string | ((item: any) => string) | undefined>;
    /**
     * Unique identifier of the component.
     * @group Props
     */
    id: _angular_core.InputSignal<string | undefined>;
    /**
     * Text to display when the search is active. Defaults to global value in i18n translation configuration.
     * @group Props
     * @defaultValue '{0} results are available'
     */
    searchMessage: _angular_core.InputSignal<string | undefined>;
    /**
     * Text to display when filtering does not return any results. Defaults to global value in i18n translation configuration.
     * @group Props
     * @defaultValue 'No selected item'
     */
    emptySelectionMessage: _angular_core.InputSignal<string | undefined>;
    /**
     * Text to be displayed in hidden accessible field when options are selected. Defaults to global value in i18n translation configuration.
     * @group Props
     * @defaultValue '{0} items selected'
     */
    selectionMessage: _angular_core.InputSignal<string | undefined>;
    /**
     * Whether to focus on the first visible or selected element when the overlay panel is shown.
     * @group Props
     */
    autoOptionFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * When enabled, the focused option is selected.
     * @group Props
     */
    selectOnFocus: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Locale to use in searching. The default locale is the host environment's current locale.
     * @group Props
     */
    searchLocale: _angular_core.InputSignal<string | string[] | undefined>;
    /**
     * Property name or getter function to use as the disabled flag of an option, defaults to false when not defined.
     * @group Props
     */
    optionDisabled: _angular_core.InputSignal<string | ((item: any) => string) | undefined>;
    /**
     * When enabled, the hovered option will be focused.
     * @group Props
     */
    focusOnHover: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether typeahead is active or not.
     * @defaultValue true
     * @group Props
     */
    typeahead: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Whether to add an item on blur event if the input has value and typeahead is false with multiple mode.
     * @deprecated Use InputTags component instead for chips/tags input functionality.
     * @defaultValue false
     * @group Props
     */
    addOnBlur: _angular_core.InputSignalWithTransform<boolean, unknown>;
    /**
     * Separator char to add item when typeahead is false and multiple mode is enabled.
     * @deprecated Use InputTags component instead for chips/tags input functionality.
     * @group Props
     */
    separator: _angular_core.InputSignal<string | RegExp | undefined>;
    /**
     * Target element to attach the overlay, valid values are "body" or a local ng-template variable of another element (note: use binding with brackets for template variables, e.g. [appendTo]="mydiv" for a div element having #mydiv as variable name).
     * @defaultValue 'self'
     * @group Props
     */
    appendTo: _angular_core.InputSignal<AppendTo>;
    /**
     * The motion options.
     * @group Props
     */
    motionOptions: _angular_core.InputSignal<MotionOptions | undefined>;
    /**
     * Callback to invoke to search for suggestions.
     * @param {AutoCompleteCompleteEvent} event - Custom complete event.
     * @group Emits
     */
    completeMethod: _angular_core.OutputEmitterRef<AutoCompleteCompleteEvent>;
    /**
     * Callback to invoke when a suggestion is selected.
     * @param {AutoCompleteSelectEvent} event - custom select event.
     * @group Emits
     */
    onSelect: _angular_core.OutputEmitterRef<AutoCompleteSelectEvent>;
    /**
     * Callback to invoke when a selected value is removed.
     * @param {AutoCompleteUnselectEvent} event - custom unselect event.
     * @group Emits
     */
    onUnselect: _angular_core.OutputEmitterRef<AutoCompleteUnselectEvent>;
    /**
     * Callback to invoke when an item is added via addOnBlur or separator features.
     * @param {AutoCompleteAddEvent} event - Custom add event.
     * @group Emits
     */
    onAdd: _angular_core.OutputEmitterRef<AutoCompleteAddEvent>;
    /**
     * Callback to invoke when the component receives focus.
     * @param {Event} event - Browser event.
     * @group Emits
     */
    onFocus: _angular_core.OutputEmitterRef<Event>;
    /**
     * Callback to invoke when the component loses focus.
     * @param {Event} event - Browser event.
     * @group Emits
     */
    onBlur: _angular_core.OutputEmitterRef<Event>;
    /**
     * Callback to invoke to when dropdown button is clicked.
     * @param {AutoCompleteDropdownClickEvent} event - custom dropdown click event.
     * @group Emits
     */
    onDropdownClick: _angular_core.OutputEmitterRef<AutoCompleteDropdownClickEvent>;
    /**
     * Callback to invoke when clear button is clicked.
     * @group Emits
     */
    onClear: _angular_core.OutputEmitterRef<void>;
    /**
     * Callback to invoke on input key down.
     * @param {KeyboardEvent} event - Keyboard event.
     * @group Emits
     */
    onInputKeydown: _angular_core.OutputEmitterRef<KeyboardEvent>;
    /**
     * Callback to invoke on input key up.
     * @param {KeyboardEvent} event - Keyboard event.
     * @group Emits
     */
    onKeyUp: _angular_core.OutputEmitterRef<KeyboardEvent>;
    /**
     * Callback to invoke on overlay is shown.
     * @group Emits
     */
    onShow: _angular_core.OutputEmitterRef<void>;
    /**
     * Callback to invoke on overlay is hidden.
     * @group Emits
     */
    onHide: _angular_core.OutputEmitterRef<void>;
    /**
     * Callback to invoke on lazy load data.
     * @param {AutoCompleteLazyLoadEvent} event - Lazy load event.
     * @group Emits
     */
    onLazyLoad: _angular_core.OutputEmitterRef<AutoCompleteLazyLoadEvent>;
    inputEL: _angular_core.Signal<ElementRef<any> | undefined>;
    multiInputEl: _angular_core.Signal<ElementRef<any> | undefined>;
    multiContainerEL: _angular_core.Signal<ElementRef<any> | undefined>;
    dropdownButton: _angular_core.Signal<ElementRef<any> | undefined>;
    itemsViewChild: _angular_core.Signal<ElementRef<any> | undefined>;
    scroller: _angular_core.Signal<Scroller | undefined>;
    overlayViewChild: _angular_core.Signal<Overlay | undefined>;
    itemsWrapper: Nullable<HTMLDivElement>;
    /**
     * Custom item template.
     * @group Templates
     */
    itemTemplate: _angular_core.Signal<TemplateRef<AutoCompleteItemTemplateContext<any>> | undefined>;
    /**
     * Custom empty message template.
     * @group Templates
     */
    emptyTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
    /**
     * Custom header template.
     * @group Templates
     */
    headerTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
    /**
     * Custom footer template.
     * @group Templates
     */
    footerTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
    /**
     * Custom selected item template.
     * @group Templates
     */
    selectedItemTemplate: _angular_core.Signal<TemplateRef<AutoCompleteSelectedItemTemplateContext<any>> | undefined>;
    /**
     * Custom group template.
     * @group Templates
     */
    groupTemplate: _angular_core.Signal<TemplateRef<AutoCompleteGroupTemplateContext<any>> | undefined>;
    /**
     * Custom loader template.
     * @group Templates
     */
    loaderTemplate: _angular_core.Signal<TemplateRef<AutoCompleteLoaderTemplateContext> | undefined>;
    /**
     * Custom remove icon template.
     * @group Templates
     */
    removeIconTemplate: _angular_core.Signal<TemplateRef<AutoCompleteRemoveIconTemplateContext> | undefined>;
    /**
     * Custom loading icon template.
     * @group Templates
     */
    loadingIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
    /**
     * Custom clear icon template.
     * @group Templates
     */
    clearIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
    /**
     * Custom dropdown icon template.
     * @group Templates
     */
    dropdownIconTemplate: _angular_core.Signal<TemplateRef<void> | undefined>;
    onHostClick(event: MouseEvent): void;
    value: any;
    timeout: ReturnType<typeof setTimeout> | null;
    overlayVisible: _angular_core.WritableSignal<boolean>;
    suggestionsUpdated: Nullable<boolean>;
    highlightOption: unknown;
    highlightOptionChanged: Nullable<boolean>;
    focused: _angular_core.WritableSignal<boolean>;
    loading: _angular_core.WritableSignal<boolean>;
    scrollHandler: Nullable<ConnectedOverlayScrollHandler>;
    listId: string | undefined;
    searchTimeout: ReturnType<typeof setTimeout> | null;
    dirty: boolean;
    focusedMultipleOptionIndex: _angular_core.WritableSignal<number>;
    focusedOptionIndex: _angular_core.WritableSignal<number>;
    _componentStyle: AutoCompleteStyle;
    overlayService: OverlayService;
    private _internalId;
    $id: _angular_core.Signal<string>;
    $appendTo: _angular_core.Signal<AppendTo>;
    get $overlayTarget(): "@grandparent" | "@parent";
    visibleOptions: _angular_core.Signal<any>;
    inputValue: _angular_core.Signal<any>;
    $showClear: _angular_core.Signal<boolean>;
    scrollerStyle: _angular_core.Signal<{
        height: string;
    }>;
    $tabindex: _angular_core.Signal<number | undefined>;
    requiredAttr: _angular_core.Signal<"" | undefined>;
    readonlyAttr: _angular_core.Signal<"" | undefined>;
    disabledAttr: _angular_core.Signal<"" | undefined>;
    $listId: _angular_core.Signal<string>;
    get focusedMultipleOptionId(): string | null;
    get focusedOptionId(): string | null;
    get searchResultMessageText(): string;
    get searchMessageText(): string;
    get emptySearchMessageText(): string;
    get selectionMessageText(): string;
    get emptySelectionMessageText(): string;
    get selectedMessageText(): string;
    get ariaSetSize(): any;
    get listLabel(): string;
    get virtualScrollerDisabled(): boolean;
    get optionValueSelected(): string | false | ((item: any) => string) | undefined;
    chipItemClass(index: number): (string | {
        'p-focus': boolean;
    })[];
    constructor();
    onAfterViewChecked(): void;
    handleSuggestionsChange(): void;
    flatOptions(options: any): any;
    isOptionGroup(option: any): boolean;
    findFirstOptionIndex(): number;
    findLastOptionIndex(): number;
    findFirstFocusedOptionIndex(): number;
    findLastFocusedOptionIndex(): number;
    findSelectedOptionIndex(): number;
    findNextOptionIndex(index: number): number;
    findPrevOptionIndex(index: number): number;
    isValidSelectedOption(option: any): boolean;
    isValidOption(option: any): boolean;
    isOptionDisabled(option: any): boolean;
    isSelected(option: any): boolean;
    isOptionMatched(option: any, value: string): boolean;
    isInputClicked(event: MouseEvent): boolean;
    isDropdownClicked(event: MouseEvent): boolean;
    equalityKey(): string | undefined;
    onContainerClick(event: MouseEvent): void;
    handleDropdownClick(event: MouseEvent): void;
    onInput(event: Event): void;
    onInputChange(event: Event): void;
    onInputFocus(event: FocusEvent): void;
    onMultipleContainerFocus(event: FocusEvent): void;
    onMultipleContainerBlur(event: FocusEvent): void;
    onMultipleContainerKeyDown(event: KeyboardEvent): void;
    onInputBlur(event: FocusEvent): void;
    onInputPaste(event: ClipboardEvent): void;
    onInputKeyUp(event: KeyboardEvent): void;
    onKeyDown(event: KeyboardEvent): void;
    handleSeparatorKey(event: KeyboardEvent): void;
    onArrowDownKey(event: KeyboardEvent): void;
    onArrowUpKey(event: KeyboardEvent): void;
    onArrowLeftKey(event: KeyboardEvent): void;
    onArrowRightKey(event: KeyboardEvent): void;
    onHomeKey(event: KeyboardEvent): void;
    onEndKey(event: KeyboardEvent): void;
    onPageDownKey(event: KeyboardEvent): void;
    onPageUpKey(event: KeyboardEvent): void;
    onEnterKey(event: KeyboardEvent): void;
    onEscapeKey(event: KeyboardEvent): void;
    onTabKey(event: KeyboardEvent): void;
    onBackspaceKey(event: KeyboardEvent): void;
    onArrowLeftKeyOnMultiple(event: KeyboardEvent): void;
    onArrowRightKeyOnMultiple(event: KeyboardEvent): void;
    onBackspaceKeyOnMultiple(event: KeyboardEvent): void;
    onOptionSelect(event: Event | null, option: any, isHide?: boolean): void;
    onOptionMouseEnter(event: MouseEvent, index: number): void;
    search(event: Event, query: string, source: string): void;
    removeOption(event: Event, index: number): void;
    updateModel(options: any): void;
    updateInputValue(): void;
    updateInputWithForceSelection(event: Event | null): void;
    autoUpdateModel(): void;
    scrollInView(index?: number): void;
    changeFocusedOptionIndex(event: Event, index: number): void;
    show(isFocus?: boolean): void;
    hide(isFocus?: boolean): void;
    clear(): void;
    hasSelectedOption(): boolean;
    getAriaPosInset(index: number): number;
    getOptionLabel(option: any): any;
    getOptionValue(option: any): any;
    getChipTrackKey(option: any): any;
    getOptionIndex(index: number, scrollerOptions: any): number;
    getOptionGroupLabel(optionGroup: any): any;
    getOptionGroupChildren(optionGroup: any): any;
    getPTOptions(option: any, scrollerOptions: any, index: number, key: string): any;
    getSelectedItemContext(option: any): {
        $implicit: any;
    };
    getRemoveIconContext(index: number): {
        removeCallback: any;
        index: number;
        class: string | undefined;
    };
    getGroupContext(optionGroup: any): {
        $implicit: any;
    };
    getItemContext(option: any, index: number, scrollerOptions: any): {
        $implicit: any;
        index: any;
    };
    getLoaderContext(scrollerOptions: any): {
        options: any;
    };
    getBuildInItemsContext(items: any[], scrollerOptions: any): {
        $implicit: any[];
        options: any;
    };
    shouldShowEmptyMessage(items: any[]): boolean;
    getItemStyle(scrollerOptions: any): CSSProperties;
    getChipLabel(option: any): any;
    getMultipleOptionId(index: number): string;
    getOptionElementId(index: number, scrollerOptions: any): string;
    isOptionFocused(index: number, scrollerOptions: any): boolean;
    getAriaControls(): string | null;
    getAriaActiveDescendant(): string | null | undefined;
    getMultipleAriaActiveDescendant(): string | null | undefined;
    getMultiplePlaceholder(): string | null | undefined;
    getListContainerMaxHeight(): string;
    onOverlayBeforeEnter(): void;
    get containerDataP(): string;
    get overlayDataP(): string;
    get inputMultipleDataP(): string;
    /**
     * @override
     *
     * @see {@link BaseEditableHolder.writeControlValue}
     * Writes the value to the control.
     */
    writeControlValue(value: any, setModelValue: (value: any) => void): void;
    onDestroy(): void;
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutoComplete, never>;
    static ɵcmp: _angular_core.ɵɵComponentDeclaration<AutoComplete, "p-autocomplete, p-auto-complete", never, { "minQueryLength": { "alias": "minQueryLength"; "required": false; "isSignal": true; }; "delay": { "alias": "delay"; "required": false; "isSignal": true; }; "panelStyle": { "alias": "panelStyle"; "required": false; "isSignal": true; }; "panelStyleClass": { "alias": "panelStyleClass"; "required": false; "isSignal": true; }; "inputStyle": { "alias": "inputStyle"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "inputStyleClass": { "alias": "inputStyleClass"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; "isSignal": true; }; "scrollHeight": { "alias": "scrollHeight"; "required": false; "isSignal": true; }; "lazy": { "alias": "lazy"; "required": false; "isSignal": true; }; "virtualScroll": { "alias": "virtualScroll"; "required": false; "isSignal": true; }; "virtualScrollItemSize": { "alias": "virtualScrollItemSize"; "required": false; "isSignal": true; }; "virtualScrollOptions": { "alias": "virtualScrollOptions"; "required": false; "isSignal": true; }; "autoHighlight": { "alias": "autoHighlight"; "required": false; "isSignal": true; }; "forceSelection": { "alias": "forceSelection"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "autoZIndex": { "alias": "autoZIndex"; "required": false; "isSignal": true; }; "baseZIndex": { "alias": "baseZIndex"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "dropdownAriaLabel": { "alias": "dropdownAriaLabel"; "required": false; "isSignal": true; }; "ariaLabelledBy": { "alias": "ariaLabelledBy"; "required": false; "isSignal": true; }; "dropdownIcon": { "alias": "dropdownIcon"; "required": false; "isSignal": true; }; "unique": { "alias": "unique"; "required": false; "isSignal": true; }; "group": { "alias": "group"; "required": false; "isSignal": true; }; "completeOnFocus": { "alias": "completeOnFocus"; "required": false; "isSignal": true; }; "showClear": { "alias": "showClear"; "required": false; "isSignal": true; }; "dropdown": { "alias": "dropdown"; "required": false; "isSignal": true; }; "showEmptyMessage": { "alias": "showEmptyMessage"; "required": false; "isSignal": true; }; "dropdownMode": { "alias": "dropdownMode"; "required": false; "isSignal": true; }; "multiple": { "alias": "multiple"; "required": false; "isSignal": true; }; "addOnTab": { "alias": "addOnTab"; "required": false; "isSignal": true; }; "tabindex": { "alias": "tabindex"; "required": false; "isSignal": true; }; "dataKey": { "alias": "dataKey"; "required": false; "isSignal": true; }; "emptyMessage": { "alias": "emptyMessage"; "required": false; "isSignal": true; }; "autofocus": { "alias": "autofocus"; "required": false; "isSignal": true; }; "autocomplete": { "alias": "autocomplete"; "required": false; "isSignal": true; }; "optionGroupChildren": { "alias": "optionGroupChildren"; "required": false; "isSignal": true; }; "optionGroupLabel": { "alias": "optionGroupLabel"; "required": false; "isSignal": true; }; "overlayOptions": { "alias": "overlayOptions"; "required": false; "isSignal": true; }; "suggestions": { "alias": "suggestions"; "required": false; "isSignal": true; }; "optionLabel": { "alias": "optionLabel"; "required": false; "isSignal": true; }; "optionValue": { "alias": "optionValue"; "required": false; "isSignal": true; }; "id": { "alias": "id"; "required": false; "isSignal": true; }; "searchMessage": { "alias": "searchMessage"; "required": false; "isSignal": true; }; "emptySelectionMessage": { "alias": "emptySelectionMessage"; "required": false; "isSignal": true; }; "selectionMessage": { "alias": "selectionMessage"; "required": false; "isSignal": true; }; "autoOptionFocus": { "alias": "autoOptionFocus"; "required": false; "isSignal": true; }; "selectOnFocus": { "alias": "selectOnFocus"; "required": false; "isSignal": true; }; "searchLocale": { "alias": "searchLocale"; "required": false; "isSignal": true; }; "optionDisabled": { "alias": "optionDisabled"; "required": false; "isSignal": true; }; "focusOnHover": { "alias": "focusOnHover"; "required": false; "isSignal": true; }; "typeahead": { "alias": "typeahead"; "required": false; "isSignal": true; }; "addOnBlur": { "alias": "addOnBlur"; "required": false; "isSignal": true; }; "separator": { "alias": "separator"; "required": false; "isSignal": true; }; "appendTo": { "alias": "appendTo"; "required": false; "isSignal": true; }; "motionOptions": { "alias": "motionOptions"; "required": false; "isSignal": true; }; }, { "completeMethod": "completeMethod"; "onSelect": "onSelect"; "onUnselect": "onUnselect"; "onAdd": "onAdd"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onDropdownClick": "onDropdownClick"; "onClear": "onClear"; "onInputKeydown": "onInputKeydown"; "onKeyUp": "onKeyUp"; "onShow": "onShow"; "onHide": "onHide"; "onLazyLoad": "onLazyLoad"; }, ["itemTemplate", "emptyTemplate", "headerTemplate", "footerTemplate", "selectedItemTemplate", "groupTemplate", "loaderTemplate", "removeIconTemplate", "loadingIconTemplate", "clearIconTemplate", "dropdownIconTemplate"], never, true, [{ directive: typeof i1.Bind; inputs: {}; outputs: {}; }]>;
}
declare class AutoCompleteModule {
    static ɵfac: _angular_core.ɵɵFactoryDeclaration<AutoCompleteModule, never>;
    static ɵmod: _angular_core.ɵɵNgModuleDeclaration<AutoCompleteModule, never, [typeof AutoComplete, typeof i2.SharedModule], [typeof AutoComplete, typeof i2.SharedModule]>;
    static ɵinj: _angular_core.ɵɵInjectorDeclaration<AutoCompleteModule>;
}

export { AUTOCOMPLETE_VALUE_ACCESSOR, AutoComplete, AutoCompleteClasses, AutoCompleteModule, AutoCompleteStyle };
