import { PropType } from 'vue';
import { OptionType, OptionValueType } from "../../types/OptionAndConfig.types";
import { VcInputColor } from "../VcInput/VcInput.types";
declare const _default: import("vue").DefineComponent<{
    modelValue: {
        type: PropType<OptionValueType>;
        default: null;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixIcon: {
        type: StringConstructor;
        default: string;
    };
    prefixIconColor: {
        type: PropType<VcInputColor>;
        default: string;
    };
    options: {
        type: ArrayConstructor;
        default: () => never[];
    };
    lazyLoadConfig: {
        type: ObjectConstructor;
        default: () => {};
    };
    iconColorHex: {
        type: StringConstructor;
        default: string;
    };
    popoverClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    infoText: {
        type: StringConstructor;
        default: string;
    };
    infoTooltipWidth: {
        type: StringConstructor;
        default: string;
    };
}, unknown, {
    localOptions: OptionType[];
}, {
    isLazyLoadEnabled(): boolean;
    keyupSelectedOption(): OptionType | undefined;
}, {
    checkSelectedElement(value: OptionValueType): void;
    loadData(): Promise<void>;
    getValueIndex(val: OptionValueType): number;
    updateModel(option: OptionType): void;
    onArrowDown(ev: Event): void;
    onArrowUp(ev: Event): void;
    setSelectedElement(): void;
    onEnter(): void;
    loadMore(): void;
    onDropdownOptionClick(option: OptionType): void;
    onClick(): void;
    onClear(): void;
}, import("vue").DefineComponent<{
    config: {
        type: PropType<import("../../types/OptionAndConfig.types").ConfigType>;
        default: () => import("../../types/OptionAndConfig.types").ConfigType;
    };
    options: {
        type: PropType<OptionType[]>;
        default: () => OptionType[];
    };
}, unknown, unknown, {}, {
    optionKey(option: OptionType, index: number, config: import("../../types/OptionAndConfig.types").ConfigType): import("../../types/VueGeneric.types").KeyAttributeType;
    optionValue(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): OptionValueType;
    optionLabel(option: OptionType | undefined, config: import("../../types/OptionAndConfig.types").ConfigType): string;
    optionIcon(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): string;
    optionDisabled(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): boolean;
    optionIconColorHex(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): string;
    optionSearchKeys(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): string[];
    optionClass(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): string | [string];
    optionStyle(option: OptionType, config: import("../../types/OptionAndConfig.types").ConfigType): string | {
        [key: string]: unknown;
    };
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    config: {
        type: PropType<import("../../types/OptionAndConfig.types").ConfigType>;
        default: () => import("../../types/OptionAndConfig.types").ConfigType;
    };
    options: {
        type: PropType<OptionType[]>;
        default: () => OptionType[];
    };
}>>, {
    config: import("../../types/OptionAndConfig.types").ConfigType;
    options: OptionType[];
}> | import("vue").DefineComponent<{
    noDataText: {
        type: StringConstructor;
        default: string;
    };
    maxWidth: {
        type: StringConstructor;
        default: string;
    };
    dataTestName: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
}, unknown, {
    lazyLoad: {
        total: number;
        page: number;
    };
    open: boolean;
    searchQuery: string;
    LOAD_MORE_BLOCK: HTMLElement;
    selectedElement: string;
    loading: boolean;
    keyup_selected: number;
}, {
    noDataMessage(): string;
}, {
    fixScrolling(): void;
    closeDropdown(): void;
    handleNavigate(): void;
    onBlur(): void;
    onChange(): void;
    onFocus(): void;
}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "onblur" | "onchange" | "onfocus")[], "update:modelValue" | "onblur" | "onchange" | "onfocus", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    noDataText: {
        type: StringConstructor;
        default: string;
    };
    maxWidth: {
        type: StringConstructor;
        default: string;
    };
    dataTestName: {
        type: StringConstructor;
        default: string;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    onOnblur?: ((...args: any[]) => any) | undefined;
    onOnchange?: ((...args: any[]) => any) | undefined;
    onOnfocus?: ((...args: any[]) => any) | undefined;
}, {
    noDataText: string;
    maxWidth: string;
    dataTestName: string;
    placeholder: string;
}> | import("vue").DefineComponent<{
    appendTo: {
        type: PropType<import("../../types/AppendToTarget.types").DefaultAppendToType>;
        default: string;
    };
}, unknown, unknown, {
    appendDisabled(): boolean;
    appendTarget(): import("../../types/AppendToTarget.types").DefaultAppendToType | null;
}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    appendTo: {
        type: PropType<import("../../types/AppendToTarget.types").DefaultAppendToType>;
        default: string;
    };
}>>, {
    appendTo: import("../../types/AppendToTarget.types").DefaultAppendToType;
}>, import("vue").ComponentOptionsMixin, ("update:modelValue" | "option-select" | "clear")[], "update:modelValue" | "option-select" | "clear", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    modelValue: {
        type: PropType<OptionValueType>;
        default: null;
    };
    readonly: {
        type: BooleanConstructor;
        default: boolean;
    };
    prefixIcon: {
        type: StringConstructor;
        default: string;
    };
    prefixIconColor: {
        type: PropType<VcInputColor>;
        default: string;
    };
    options: {
        type: ArrayConstructor;
        default: () => never[];
    };
    lazyLoadConfig: {
        type: ObjectConstructor;
        default: () => {};
    };
    iconColorHex: {
        type: StringConstructor;
        default: string;
    };
    popoverClass: {
        type: (ObjectConstructor | ArrayConstructor | StringConstructor)[];
        default: string;
    };
    infoText: {
        type: StringConstructor;
        default: string;
    };
    infoTooltipWidth: {
        type: StringConstructor;
        default: string;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onOption-select"?: ((...args: any[]) => any) | undefined;
    onClear?: ((...args: any[]) => any) | undefined;
}, {
    options: unknown[];
    modelValue: OptionValueType;
    readonly: boolean;
    prefixIcon: string;
    prefixIconColor: VcInputColor;
    lazyLoadConfig: Record<string, any>;
    iconColorHex: string;
    popoverClass: string | unknown[] | Record<string, any>;
    infoText: string;
    infoTooltipWidth: string;
}>;
export default _default;
