import { PropType } from 'vue';
import { CssClass } from '../../helpers/css-classes';
import { AutocompleteItem, AutocompleteSelectedItem } from './models';
declare const _default: import("vue").DefineComponent<{
    size: {
        type: PropType<"lg" | "sm" | "md">;
        default: string;
    };
    depressed: {
        type: PropType<boolean>;
        default: boolean;
    };
    error: {
        type: PropType<boolean>;
        default: boolean;
    };
    rounded: {
        type: PropType<boolean>;
        default: boolean;
    };
    roundedLg: {
        type: PropType<boolean>;
        default: boolean;
    };
    round: {
        type: PropType<boolean>;
        default: boolean;
    };
    bordered: {
        type: PropType<boolean>;
        default: boolean;
    };
    dark: {
        type: PropType<boolean>;
        default: boolean;
    };
    light: {
        type: PropType<boolean>;
        default: boolean;
    };
    modelValue: {
        type: PropType<AutocompleteSelectedItem | AutocompleteSelectedItem[] | null>;
        default: null;
    };
    items: {
        type: PropType<AutocompleteItem[]>;
        required: true;
    };
    placeholder: {
        type: PropType<string | null>;
        default: null;
    };
    type: {
        type: PropType<string>;
        default: string;
    };
    required: {
        type: PropType<boolean>;
        default: boolean;
    };
    min: {
        type: PropType<string | number | null>;
        default: null;
    };
    max: {
        type: PropType<string | number | null>;
        default: null;
    };
    maxlength: {
        type: PropType<string | number | null>;
        default: null;
    };
    step: {
        type: PropType<number>;
        default: number;
    };
    label: {
        type: PropType<string | null>;
        default: null;
    };
    width: {
        type: PropType<number | null>;
        default: null;
    };
    leftIcon: {
        type: PropType<string | null>;
        default: null;
    };
    leftIconClickable: {
        type: PropType<boolean>;
        default: boolean;
    };
    leftIconColor: {
        type: PropType<string | null>;
        default: null;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    maxHeight: {
        type: PropType<number>;
        default: number;
    };
    listPosition: {
        type: PropType<"top" | "bottom">;
        default: string;
        validator: (val: string) => boolean;
    };
    itemsLoading: {
        type: PropType<boolean>;
        default: boolean;
    };
    itemsError: {
        type: PropType<boolean>;
        default: boolean;
    };
    itemsReloadable: {
        type: PropType<boolean>;
        default: boolean;
    };
    textarea: {
        type: PropType<boolean>;
        default: boolean;
    };
    rows: {
        type: PropType<string | number | null>;
        default: null;
    };
    noMatchingItemsText: {
        type: PropType<string>;
        default: string;
    };
    external: {
        type: PropType<boolean>;
        default: boolean;
    };
    searchDelay: {
        type: PropType<number>;
        default: number;
    };
    multiple: {
        type: PropType<boolean>;
        default: boolean;
    };
}, {
    themeClass: import("vue").ComputedRef<{
        'is-dark': any;
        'is-light': any;
    }>;
    borderedClass: import("vue").ComputedRef<{
        'is-bordered': any;
    }>;
    roundedClass: import("vue").ComputedRef<{
        'is-rounded': any;
        'is-rounded-lg': any;
        'is-round': any;
    }>;
}, {
    isFocused: boolean;
    isExpanded: boolean;
    listClicked: boolean;
    activeItemKey: string | number | null;
    searchText: string;
    searchTimeout: any;
}, {
    selectedItems(): AutocompleteSelectedItem[];
    selectedItem(): AutocompleteSelectedItem | null;
    computedNoMatchingItemsText(): string;
    component(): any;
    filteredItems(): AutocompleteItem[];
    inputClasses(): CssClass[];
    itemsClasses(): CssClass[];
}, {
    isItemSelected(key: string | number | undefined): boolean;
    onKeydown(e: any): void;
    scrollToActiveItem(): void;
    goToPrevious(): void;
    goToNext(): void;
    update(value: AutocompleteItem | AutocompleteItem[] | null): void;
    removeItemFromSelected(item: AutocompleteItem): void;
    handleItemClick(item: AutocompleteItem): void;
    selectActiveItem(): void;
    handleInputEnter(): void;
    closeList(): void;
    itemClasses(item: AutocompleteItem): CssClass[];
    cleanSelection(): void;
    reload(): void;
    search(value: any): void;
    handleInput(value: any): void;
    expand(): void;
    focus(): void;
    clickOutsideHandler(e: any): void;
    blur(e: any): void;
    enter(value: any): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("reload" | "update:modelValue" | "enter" | "focus" | "blur" | "click-left-icon" | "click-right-icon" | "select" | "update" | "search")[], "search" | "reload" | "update:modelValue" | "enter" | "focus" | "blur" | "click-left-icon" | "click-right-icon" | "select" | "update", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    size: {
        type: PropType<"lg" | "sm" | "md">;
        default: string;
    };
    depressed: {
        type: PropType<boolean>;
        default: boolean;
    };
    error: {
        type: PropType<boolean>;
        default: boolean;
    };
    rounded: {
        type: PropType<boolean>;
        default: boolean;
    };
    roundedLg: {
        type: PropType<boolean>;
        default: boolean;
    };
    round: {
        type: PropType<boolean>;
        default: boolean;
    };
    bordered: {
        type: PropType<boolean>;
        default: boolean;
    };
    dark: {
        type: PropType<boolean>;
        default: boolean;
    };
    light: {
        type: PropType<boolean>;
        default: boolean;
    };
    modelValue: {
        type: PropType<AutocompleteSelectedItem | AutocompleteSelectedItem[] | null>;
        default: null;
    };
    items: {
        type: PropType<AutocompleteItem[]>;
        required: true;
    };
    placeholder: {
        type: PropType<string | null>;
        default: null;
    };
    type: {
        type: PropType<string>;
        default: string;
    };
    required: {
        type: PropType<boolean>;
        default: boolean;
    };
    min: {
        type: PropType<string | number | null>;
        default: null;
    };
    max: {
        type: PropType<string | number | null>;
        default: null;
    };
    maxlength: {
        type: PropType<string | number | null>;
        default: null;
    };
    step: {
        type: PropType<number>;
        default: number;
    };
    label: {
        type: PropType<string | null>;
        default: null;
    };
    width: {
        type: PropType<number | null>;
        default: null;
    };
    leftIcon: {
        type: PropType<string | null>;
        default: null;
    };
    leftIconClickable: {
        type: PropType<boolean>;
        default: boolean;
    };
    leftIconColor: {
        type: PropType<string | null>;
        default: null;
    };
    disabled: {
        type: PropType<boolean>;
        default: boolean;
    };
    maxHeight: {
        type: PropType<number>;
        default: number;
    };
    listPosition: {
        type: PropType<"top" | "bottom">;
        default: string;
        validator: (val: string) => boolean;
    };
    itemsLoading: {
        type: PropType<boolean>;
        default: boolean;
    };
    itemsError: {
        type: PropType<boolean>;
        default: boolean;
    };
    itemsReloadable: {
        type: PropType<boolean>;
        default: boolean;
    };
    textarea: {
        type: PropType<boolean>;
        default: boolean;
    };
    rows: {
        type: PropType<string | number | null>;
        default: null;
    };
    noMatchingItemsText: {
        type: PropType<string>;
        default: string;
    };
    external: {
        type: PropType<boolean>;
        default: boolean;
    };
    searchDelay: {
        type: PropType<number>;
        default: number;
    };
    multiple: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & {
    onReload?: ((...args: any[]) => any) | undefined;
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onEnter?: ((...args: any[]) => any) | undefined;
    onFocus?: ((...args: any[]) => any) | undefined;
    onBlur?: ((...args: any[]) => any) | undefined;
    "onClick-left-icon"?: ((...args: any[]) => any) | undefined;
    "onClick-right-icon"?: ((...args: any[]) => any) | undefined;
    onSelect?: ((...args: any[]) => any) | undefined;
    onUpdate?: ((...args: any[]) => any) | undefined;
    onSearch?: ((...args: any[]) => any) | undefined;
}, {
    type: string;
    size: "lg" | "sm" | "md";
    bordered: boolean;
    dark: boolean;
    light: boolean;
    error: boolean;
    disabled: boolean;
    leftIcon: string | null;
    rounded: boolean;
    roundedLg: boolean;
    round: boolean;
    required: boolean;
    modelValue: AutocompleteSelectedItem | AutocompleteSelectedItem[] | null;
    placeholder: string | null;
    min: string | number | null;
    max: string | number | null;
    maxlength: string | number | null;
    step: number;
    label: string | null;
    width: number | null;
    leftIconClickable: boolean;
    leftIconColor: string | null;
    depressed: boolean;
    rows: string | number | null;
    textarea: boolean;
    maxHeight: number;
    listPosition: "top" | "bottom";
    itemsLoading: boolean;
    itemsError: boolean;
    itemsReloadable: boolean;
    noMatchingItemsText: string;
    external: boolean;
    searchDelay: number;
    multiple: boolean;
}>;
export default _default;
