import { Ref } from 'vue';
import { PoiItem, MapLocale } from './types';
import { MapProps } from './props';
import { default as MapViewType } from './components/map-view';

export type MapViewInstance = InstanceType<typeof MapViewType> | null;
declare const _default: import('vue').DefineComponent<{
    modelValue: BooleanConstructor;
    modalProps: import('vue').PropType<Omit<import('../ele-app/plus').EleModalProps, "modelValue">>;
    responsive: {
        type: BooleanConstructor;
        default: null;
    };
    locale: import('vue').PropType<Partial<MapLocale>>;
    keywordMode: BooleanConstructor;
    headerStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    height: {
        type: StringConstructor;
        default: string;
    };
    center: import('vue').PropType<number[]>;
    zoom: {
        type: NumberConstructor;
        default: number;
    };
    selectedZoom: {
        type: NumberConstructor;
        default: number;
    };
    poiLimit: {
        type: NumberConstructor;
        default: number;
    };
    poiType: {
        type: StringConstructor;
        default: string;
    };
    poiKeywords: {
        type: StringConstructor;
        default: string;
    };
    poiRadius: {
        type: NumberConstructor;
        default: number;
    };
    returnRegions: BooleanConstructor;
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    message: StringConstructor;
    suggestionCity: {
        type: StringConstructor;
        default: string;
    };
    searchPlaceholder: StringConstructor;
    markerSrc: {
        type: StringConstructor;
        default: string;
    };
    mapKey: StringConstructor;
    mapVersion: {
        type: StringConstructor;
        default: string;
    };
    mapStyle: StringConstructor;
    darkMode: BooleanConstructor;
    okText: StringConstructor;
    emptyProps: import('vue').PropType<import('../ele-app/el').ElEmptyProps>;
    searchStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    mode: {
        type: import('vue').PropType<import('./types').SelectMode>;
        default: string;
    };
    filterable: {
        type: BooleanConstructor;
        default: boolean;
    };
    clickMessage: StringConstructor;
    selected: import('vue').PropType<PoiItem>;
    sideStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
}, {
    lang: import('vue').ComputedRef<MapLocale>;
    isResponsive: import('vue').ComputedRef<boolean>;
    mapRef: Ref<MapViewInstance>;
    aMapKey: import('vue').ComputedRef<string | undefined>;
    mapProps: import('vue').ComputedRef<Partial<MapProps>>;
    updateModelValue: (visible: boolean) => void;
    handleMapDone: (ins: any) => void;
    handleDone: (result: PoiItem) => void;
}, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
    done: (_result: PoiItem) => boolean;
    mapDone: (_ins: any) => boolean;
    open: () => boolean;
    closed: () => boolean;
    'update:modelValue': (_value: boolean) => boolean;
}, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
    modelValue: BooleanConstructor;
    modalProps: import('vue').PropType<Omit<import('../ele-app/plus').EleModalProps, "modelValue">>;
    responsive: {
        type: BooleanConstructor;
        default: null;
    };
    locale: import('vue').PropType<Partial<MapLocale>>;
    keywordMode: BooleanConstructor;
    headerStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    height: {
        type: StringConstructor;
        default: string;
    };
    center: import('vue').PropType<number[]>;
    zoom: {
        type: NumberConstructor;
        default: number;
    };
    selectedZoom: {
        type: NumberConstructor;
        default: number;
    };
    poiLimit: {
        type: NumberConstructor;
        default: number;
    };
    poiType: {
        type: StringConstructor;
        default: string;
    };
    poiKeywords: {
        type: StringConstructor;
        default: string;
    };
    poiRadius: {
        type: NumberConstructor;
        default: number;
    };
    returnRegions: BooleanConstructor;
    required: {
        type: BooleanConstructor;
        default: boolean;
    };
    message: StringConstructor;
    suggestionCity: {
        type: StringConstructor;
        default: string;
    };
    searchPlaceholder: StringConstructor;
    markerSrc: {
        type: StringConstructor;
        default: string;
    };
    mapKey: StringConstructor;
    mapVersion: {
        type: StringConstructor;
        default: string;
    };
    mapStyle: StringConstructor;
    darkMode: BooleanConstructor;
    okText: StringConstructor;
    emptyProps: import('vue').PropType<import('../ele-app/el').ElEmptyProps>;
    searchStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
    mode: {
        type: import('vue').PropType<import('./types').SelectMode>;
        default: string;
    };
    filterable: {
        type: BooleanConstructor;
        default: boolean;
    };
    clickMessage: StringConstructor;
    selected: import('vue').PropType<PoiItem>;
    sideStyle: import('vue').PropType<import('../ele-app/types').StyleValue>;
}>> & {
    "onUpdate:modelValue"?: ((_value: boolean) => any) | undefined;
    onOpen?: (() => any) | undefined;
    onClosed?: (() => any) | undefined;
    onDone?: ((_result: PoiItem) => any) | undefined;
    onMapDone?: ((_ins: any) => any) | undefined;
}, {
    height: string;
    required: boolean;
    modelValue: boolean;
    filterable: boolean;
    mode: import('./types').SelectMode;
    zoom: number;
    responsive: boolean;
    keywordMode: boolean;
    selectedZoom: number;
    poiLimit: number;
    poiType: string;
    poiKeywords: string;
    poiRadius: number;
    returnRegions: boolean;
    suggestionCity: string;
    markerSrc: string;
    mapVersion: string;
    darkMode: boolean;
}, {}>;
export default _default;
