import { Emitter, EventType } from 'mitt'; /** * Get the recycle key of the map * @method getRecycleKey * @returns {void} * @public */ declare function getRecycleKey(): string; /** * This method trigger the resize event of Google Maps * @method resize * @returns {void} * @public */ declare function resize(): Promise; /** * Preserve the previous center when resize the map * @method resizePreserveCenter * @returns {void} * @public */ declare function resizePreserveCenter(): void; /******************************************************************************* * METHODS ******************************************************************************/ /** * Changes the center of the map by the given distance in pixels. If the distance is less than both the width and height of the map, the transition will be smoothly animated. Note that the map coordinate system increases from west to east (for x values) and north to south (for y values). * @method panBy * @param {number} x - Number of pixels to move the map in the x direction. * @param {number} y - Number of pixels to move the map in the y direction. * @returns {void} * @public */ declare function panBy(x: number, y: number): Promise; /** * Changes the center of the map to the given LatLng. If the change is less than both the width and height of the map, the transition will be smoothly animated. * @method panTo * @param {(LatLng|LatLngLiteral)} latLng - The new center latitude/longitude of the map. (types `LatLng|LatLngLiteral`) * @returns {void} * @public */ declare function panTo(latLng: google.maps.LatLng | google.maps.LatLngLiteral): Promise; /** * Pans the map by the minimum amount necessary to contain the given LatLngBounds. It makes no guarantee where on the map the bounds will be, except that the map will be panned to show as much of the bounds as possible inside {currentMapSizeInPx} - {padding}. For both raster and vector maps, the map's zoom, tilt, and heading will not be changed. * @method panToBounds * @param {(LatLngBounds|LatLngBoundsLiteral)} latLngBounds - The bounds to pan the map to. (types: `LatLngBounds|LatLngBoundsLiteral`) * @param {(number|Padding)} [padding] - optional Padding in pixels. A number value will yield the same padding on all 4 sides. The default value is 0. (types: `number|Padding`) * @returns {void} * @public */ declare function panToBounds(latLngBounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding: number | google.maps.Padding): Promise; /** * Sets the viewport to contain the given bounds. Note: When the map is set to display: none, the fitBounds function reads the map's size as 0x0, and therefore does not do anything. To change the viewport while the map is hidden, set the map to visibility: hidden, thereby ensuring the map div has an actual size. For vector maps, this method sets the map's tilt and heading to their default zero values. * @method fitBounds * @param {(LatLngBounds|LatLngBoundsLiteral)} bounds - Bounds to show. (types: `LatLngBounds|LatLngBoundsLiteral`) * @param {(number|Padding)} [padding] - optional Padding in pixels. The bounds will be fit in the part of the map that remains after padding is removed. A number value will yield the same padding on all 4 sides. Supply 0 here to make a fitBounds idempotent on the result of getBounds. (types: `number|Padding`) * @returns {void} * @public */ declare function fitBounds(bounds: google.maps.LatLngBounds | google.maps.LatLngBoundsLiteral, padding: number | google.maps.Padding): Promise; declare function __VLS_template(): { slots: { default?(_: {}): any; visible?(_: {}): any; }; refs: { gmvMapRef: HTMLDivElement; }; attrs: Partial<{}>; }; type __VLS_TemplateResult = ReturnType; declare const __VLS_component: import('vue').DefineComponent<{ backgroundColor?: string; center: google.maps.LatLng | google.maps.LatLngLiteral; clickableIcons?: boolean; controlSize?: number; disableDefaultUI?: boolean; disableDoubleClickZoom?: boolean; draggableCursor?: string; draggingCursor?: string; fullscreenControl?: boolean; fullscreenControlOptions?: google.maps.FullscreenControlOptions; gestureHandling?: "cooperative" | "greedy" | "none" | "auto"; heading?: number; isFractionalZoomEnabled?: boolean; keyboardShortcuts?: boolean; mapId?: string; mapTypeControl?: boolean; mapTypeControlOptions?: google.maps.MapTypeControlOptions; mapTypeId?: google.maps.MapTypeId; maxZoom?: number; minZoom?: number; noClear?: boolean; restriction?: google.maps.MapRestriction; rotateControl?: boolean; rotateControlOptions?: google.maps.RotateControlOptions; scaleControl?: boolean; scaleControlOptions?: google.maps.ScaleControlOptions; scrollwheel?: boolean; streetView?: google.maps.StreetViewPanorama; streetViewControl?: boolean; streetViewControlOptions?: google.maps.StreetViewControlOptions; styles?: google.maps.MapTypeStyle[]; tilt?: number; zoom?: number; zoomControl?: boolean; zoomControlOptions?: google.maps.ZoomControlOptions; mapKey?: string; resizeBus?: Emitter>; options?: Record; }, { mapPromise: Promise; panBy: typeof panBy; panTo: typeof panTo; panToBounds: typeof panToBounds; fitBounds: typeof fitBounds; currentResizeBus: import('vue').Ref> | undefined, Emitter> | undefined>; _resizeCallback: () => void; _delayedResizeCallback: () => void; resize: typeof resize; resizePreserveCenter: typeof resizePreserveCenter; getRecycleKey: typeof getRecycleKey; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { click: (value: google.maps.MapMouseEvent | google.maps.IconMouseEvent) => any; contextmenu: (value: google.maps.MapMouseEvent) => any; dblclick: (value: google.maps.MapMouseEvent) => any; drag: () => any; dragend: () => any; dragstart: () => any; mousemove: (value: google.maps.MapMouseEvent) => any; mouseout: (value: google.maps.MapMouseEvent) => any; mouseover: (value: google.maps.MapMouseEvent) => any; resize: () => any; center_changed: (value: google.maps.LatLng | undefined) => any; bounds_changed: (value: google.maps.LatLngBounds | undefined) => any; heading_changed: () => any; idle: () => any; isfractionalzoomenabled_changed: () => any; mapcapabilities_changed: () => any; maptypeid_changed: () => any; projection_changed: () => any; renderingtype_changed: () => any; tilesloaded: () => any; tilt_changed: () => any; zoom_changed: (value: number | undefined) => any; }, string, import('vue').PublicProps, Readonly<{ backgroundColor?: string; center: google.maps.LatLng | google.maps.LatLngLiteral; clickableIcons?: boolean; controlSize?: number; disableDefaultUI?: boolean; disableDoubleClickZoom?: boolean; draggableCursor?: string; draggingCursor?: string; fullscreenControl?: boolean; fullscreenControlOptions?: google.maps.FullscreenControlOptions; gestureHandling?: "cooperative" | "greedy" | "none" | "auto"; heading?: number; isFractionalZoomEnabled?: boolean; keyboardShortcuts?: boolean; mapId?: string; mapTypeControl?: boolean; mapTypeControlOptions?: google.maps.MapTypeControlOptions; mapTypeId?: google.maps.MapTypeId; maxZoom?: number; minZoom?: number; noClear?: boolean; restriction?: google.maps.MapRestriction; rotateControl?: boolean; rotateControlOptions?: google.maps.RotateControlOptions; scaleControl?: boolean; scaleControlOptions?: google.maps.ScaleControlOptions; scrollwheel?: boolean; streetView?: google.maps.StreetViewPanorama; streetViewControl?: boolean; streetViewControlOptions?: google.maps.StreetViewControlOptions; styles?: google.maps.MapTypeStyle[]; tilt?: number; zoom?: number; zoomControl?: boolean; zoomControlOptions?: google.maps.ZoomControlOptions; mapKey?: string; resizeBus?: Emitter>; options?: Record; }> & Readonly<{ onClick?: ((value: google.maps.MapMouseEvent | google.maps.IconMouseEvent) => any) | undefined; onContextmenu?: ((value: google.maps.MapMouseEvent) => any) | undefined; onDblclick?: ((value: google.maps.MapMouseEvent) => any) | undefined; onDrag?: (() => any) | undefined; onDragend?: (() => any) | undefined; onDragstart?: (() => any) | undefined; onMousemove?: ((value: google.maps.MapMouseEvent) => any) | undefined; onMouseout?: ((value: google.maps.MapMouseEvent) => any) | undefined; onMouseover?: ((value: google.maps.MapMouseEvent) => any) | undefined; onResize?: (() => any) | undefined; onCenter_changed?: ((value: google.maps.LatLng | undefined) => any) | undefined; onBounds_changed?: ((value: google.maps.LatLngBounds | undefined) => any) | undefined; onHeading_changed?: (() => any) | undefined; onIdle?: (() => any) | undefined; onIsfractionalzoomenabled_changed?: (() => any) | undefined; onMapcapabilities_changed?: (() => any) | undefined; onMaptypeid_changed?: (() => any) | undefined; onProjection_changed?: (() => any) | undefined; onRenderingtype_changed?: (() => any) | undefined; onTilesloaded?: (() => any) | undefined; onTilt_changed?: (() => any) | undefined; onZoom_changed?: ((value: number | undefined) => any) | undefined; }>, { options: Record; mapKey: string; backgroundColor: string; clickableIcons: boolean; controlSize: number; disableDefaultUI: boolean; disableDoubleClickZoom: boolean; draggableCursor: string; draggingCursor: string; fullscreenControl: boolean; fullscreenControlOptions: google.maps.FullscreenControlOptions; gestureHandling: "cooperative" | "greedy" | "none" | "auto"; heading: number; isFractionalZoomEnabled: boolean; keyboardShortcuts: boolean; mapId: string; mapTypeControl: boolean; mapTypeControlOptions: google.maps.MapTypeControlOptions; mapTypeId: google.maps.MapTypeId; maxZoom: number; minZoom: number; noClear: boolean; restriction: google.maps.MapRestriction; rotateControl: boolean; rotateControlOptions: google.maps.RotateControlOptions; scaleControl: boolean; scaleControlOptions: google.maps.ScaleControlOptions; scrollwheel: boolean; streetView: google.maps.StreetViewPanorama; streetViewControl: boolean; streetViewControlOptions: google.maps.StreetViewControlOptions; styles: google.maps.MapTypeStyle[]; tilt: number; zoom: number; zoomControl: boolean; zoomControlOptions: google.maps.ZoomControlOptions; resizeBus: Emitter>; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, false, {}, any>; declare const _default: __VLS_WithTemplateSlots; export default _default; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };