import { UiAutocompleteProps } from './types';
declare function setOpen(value: boolean): void;
declare function setInputValue(value: string): void;
declare function isSelected(value: string): boolean;
declare function __VLS_template(): {
    attrs: Partial<{}>;
    slots: {
        input?(_: {
            value: string;
            placeholder: string | undefined;
            ariaLabel: string;
            disabled: boolean;
            selectedValues: string[];
            selectedOptions: import('./types').UiAutocompleteOption[];
            displayText: string;
            showSelectionDisplay: boolean;
            open: boolean;
            setInputValue: typeof setInputValue;
            setOpen: typeof setOpen;
        }): any;
        item?(_: {
            option: import('./types').UiAutocompleteOption;
            selected: boolean;
            disabled: boolean;
        }): any;
        'indicator-icon'?(_: {}): any;
        default?(_: {
            inputValue: string;
            selectedValues: string[];
            selectedOptions: import('./types').UiAutocompleteOption[];
            isSelected: typeof isSelected;
            setOpen: typeof setOpen;
        }): any;
    };
    refs: {
        inputEl: HTMLInputElement;
    };
    rootEl: HTMLDivElement;
};
type __VLS_TemplateResult = ReturnType<typeof __VLS_template>;
declare const __VLS_component: import('vue').DefineComponent<UiAutocompleteProps, {}, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    input: (event: Event) => any;
    "update:modelValue": (value: string | string[]) => any;
    select: (value: string | string[], event?: Event | undefined) => any;
    "update:open": (value: boolean) => any;
    "update:inputValue": (value: string) => any;
    focus: (event: FocusEvent) => any;
    blur: (event: FocusEvent) => any;
    keydown: (event: KeyboardEvent) => any;
}, string, import('vue').PublicProps, Readonly<UiAutocompleteProps> & Readonly<{
    onInput?: ((event: Event) => any) | undefined;
    "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
    onSelect?: ((value: string | string[], event?: Event | undefined) => any) | undefined;
    "onUpdate:open"?: ((value: boolean) => any) | undefined;
    "onUpdate:inputValue"?: ((value: string) => any) | undefined;
    onFocus?: ((event: FocusEvent) => any) | undefined;
    onBlur?: ((event: FocusEvent) => any) | undefined;
    onKeydown?: ((event: KeyboardEvent) => any) | undefined;
}>, {
    disabled: boolean;
    dir: "ltr" | "rtl";
    modelValue: string | string[];
    defaultValue: string | string[];
    multiple: boolean;
    placeholder: string;
    open: boolean;
    defaultOpen: boolean;
    name: string;
    ariaLabel: string;
    required: boolean;
    startIcon: import('../UiIcon').UiIconProps["name"];
    inputValue: string;
    defaultInputValue: string;
    emptyText: string;
    showIndicator: boolean;
}, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {
    inputEl: HTMLInputElement;
}, HTMLDivElement>;
declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
export default _default;
type __VLS_WithTemplateSlots<T, S> = T & {
    new (): {
        $slots: S;
    };
};
