import { PropType, ComputedRef } from 'vue';
import { BoundsType, LocationOptions, VueDadataClasses, KeyEvent, HighlightOptions, Suggestion } from './types';
declare const _sfc_main: import("vue").DefineComponent<{
    token: {
        type: StringConstructor;
        required: true;
    };
    modelValue: {
        type: StringConstructor;
        required: true;
    };
    suggestion: {
        type: PropType<Suggestion | undefined>;
        default: () => undefined;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    url: {
        type: StringConstructor;
        default: undefined;
    };
    debounceWait: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    fromBound: {
        type: PropType<BoundsType>;
        default: undefined;
    };
    toBound: {
        type: PropType<BoundsType>;
        default: undefined;
    };
    inputName: {
        type: StringConstructor;
        default: string;
    };
    locationOptions: {
        type: PropType<LocationOptions>;
        default: undefined;
    };
    classes: {
        type: PropType<VueDadataClasses>;
        default: () => VueDadataClasses;
    };
    highlightOptions: {
        type: PropType<HighlightOptions>;
        default: () => HighlightOptions;
    };
    autocomplete: {
        type: BooleanConstructor;
        default: boolean;
    };
}, {
    KeyEvent: typeof KeyEvent;
    queryProxy: import("vue").WritableComputedRef<string>;
    suggestionProxy: import("vue").WritableComputedRef<Suggestion | undefined>;
    inputFocused: import("vue").Ref<boolean>;
    suggestionsVisible: import("vue").Ref<boolean>;
    suggestionList: import("vue").Ref<Suggestion[]>;
    proxyClasses: ComputedRef<VueDadataClasses>;
    proxyHighlightOptions: ComputedRef<HighlightOptions>;
    suggestionIndex: import("vue").Ref<number>;
    onInputChange: () => void;
    onKeyPress: (keyboardEvent: KeyboardEvent, keyEvent: KeyEvent) => void;
    onInputFocus: () => void;
    onInputBlur: () => void;
    onSuggestionClick: (index: number) => void;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:modelValue" | "update:suggestion" | "handleError")[], "update:modelValue" | "update:suggestion" | "handleError", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly<import("vue").ExtractPropTypes<{
    token: {
        type: StringConstructor;
        required: true;
    };
    modelValue: {
        type: StringConstructor;
        required: true;
    };
    suggestion: {
        type: PropType<Suggestion | undefined>;
        default: () => undefined;
    };
    placeholder: {
        type: StringConstructor;
        default: string;
    };
    url: {
        type: StringConstructor;
        default: undefined;
    };
    debounceWait: {
        type: StringConstructor;
        default: string;
    };
    disabled: {
        type: BooleanConstructor;
        default: boolean;
    };
    fromBound: {
        type: PropType<BoundsType>;
        default: undefined;
    };
    toBound: {
        type: PropType<BoundsType>;
        default: undefined;
    };
    inputName: {
        type: StringConstructor;
        default: string;
    };
    locationOptions: {
        type: PropType<LocationOptions>;
        default: undefined;
    };
    classes: {
        type: PropType<VueDadataClasses>;
        default: () => VueDadataClasses;
    };
    highlightOptions: {
        type: PropType<HighlightOptions>;
        default: () => HighlightOptions;
    };
    autocomplete: {
        type: BooleanConstructor;
        default: boolean;
    };
}>> & {
    "onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
    "onUpdate:suggestion"?: ((...args: any[]) => any) | undefined;
    onHandleError?: ((...args: any[]) => any) | undefined;
}, {
    suggestion: Suggestion | undefined;
    placeholder: string;
    url: string;
    debounceWait: string;
    disabled: boolean;
    fromBound: BoundsType;
    toBound: BoundsType;
    inputName: string;
    locationOptions: LocationOptions;
    classes: VueDadataClasses;
    highlightOptions: HighlightOptions;
    autocomplete: boolean;
}>;
export default _sfc_main;
