import { LatLng, type MarkerEventMap, type MarkerLabel, type MarkerOverlay, type UnionIcon } from 'tg-map-core'; import { type PropType } from 'vue'; import { type EventEmits } from '../../utils/vue-utils'; import TgMarkerClusterer from '../extra/TgMarkerClusterer.vue'; import type TgInfoBox from './TgInfoBox.vue'; import type TgInfoWindow from './TgInfoWindow.vue'; import type TgLabel from './TgLabel.vue'; type TgMarkerEmits = { 'update:position': LatLng; }; export type TgMarkerEventEmits = EventEmits; export declare const tgMarkerProps: { position: { type: PropType; required: true; }; title: { type: PropType; }; label: { type: PropType; }; icon: { type: PropType; }; clickable: { type: PropType; }; draggable: { type: PropType; }; crossOnDrag: { type: PropType; }; cursor: { type: PropType; }; zIndex: { type: PropType; }; visible: { type: PropType; }; normalizePositionForBaidu: { type: PropType; }; /** * 是否自动添加到TgMarkerClusterer中去 * @default true */ autoAddToClusterer: { type: PropType; default: boolean; }; 'onUpdate:position': import("vue").Prop>; }; declare const TgMarker: import("vue").DefineComponent<{ position: LatLng; autoAddToClusterer: boolean; label?: MarkerLabel | undefined; title?: string | undefined; draggable?: boolean | undefined; visible?: boolean | undefined; zIndex?: number | undefined; clickable?: boolean | undefined; normalizePositionForBaidu?: boolean | undefined; icon?: UnionIcon | undefined; crossOnDrag?: boolean | undefined; cursor?: string | undefined; 'onUpdate:position'?: (import("tg-map-core").EventCallback & ((event: LatLng) => any)) | undefined; onClick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDblclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onRightclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onContextmenu?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDragstart?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDrag?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDragend?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; }, { attrs: import("vue").ComputedRef<{ binds: Record; listeners: Record; listenerProps: Record; }>; marker: MarkerOverlay; labelOverlay: TgLabel | undefined; info: TgInfo | undefined; emittedPosition: LatLng | undefined; autoAddToClustererWhenCreate: boolean; }, {}, {}, { recreate(): void; $clusterer(): TgMarkerClusterer | undefined; onAddLabel(label: TgLabel): void; onRemoveLabel(_label: TgLabel): void; onAddInfo(info: TgInfo): void; onRemoveInfo(info: TgInfo): void; onInfoShowChanged(info: TgInfo, isShow: boolean): void; }, import("vue").DefineComponent<{}, {}, {}, {}, { recreate(): void; }, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>, import("vue").ComponentOptionsMixin, EventEmits, string, import("vue").PublicProps, Readonly<{ position: LatLng; autoAddToClusterer: boolean; label?: MarkerLabel | undefined; title?: string | undefined; draggable?: boolean | undefined; visible?: boolean | undefined; zIndex?: number | undefined; clickable?: boolean | undefined; normalizePositionForBaidu?: boolean | undefined; icon?: UnionIcon | undefined; crossOnDrag?: boolean | undefined; cursor?: string | undefined; 'onUpdate:position'?: (import("tg-map-core").EventCallback & ((event: LatLng) => any)) | undefined; onClick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDblclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onRightclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onContextmenu?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDragstart?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDrag?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDragend?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; }> & Readonly<{ onClick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDblclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onRightclick?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onContextmenu?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDragstart?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDrag?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onDragend?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseover?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseout?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMousedown?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; onMouseup?: ((event: import("tg-map-core").Tg.MouseEvent) => any) | undefined; "onUpdate:position"?: ((event: LatLng) => any) | undefined; }>, { autoAddToClusterer: boolean; }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>; type TgMarker = InstanceType; export default TgMarker; export type TgInfo = TgInfoWindow | TgInfoBox; export type TgMarkerPublicInstance = { marker: MarkerOverlay; onAddInfo(info: TgInfo): void; onRemoveInfo(info: TgInfo): void; onInfoShowChanged(info: TgInfo, isShow: boolean): void; onAddLabel(label: TgLabel): void; onRemoveLabel(label: TgLabel): void; };