import type { ShallowRef } from 'vue'; export type ScriptGoogleMapsOverlayAnchor = 'center' | 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' | 'left-center' | 'right-center'; export type ScriptGoogleMapsOverlayPane = 'mapPane' | 'overlayLayer' | 'markerLayer' | 'overlayMouseTarget' | 'floatPane'; export interface ScriptGoogleMapsOverlayViewProps { /** * Geographic position for the overlay. Falls back to parent marker position if omitted. * * Accepts either a plain `LatLngLiteral` (`{ lat, lng }`) or a * `google.maps.LatLng` instance. * @see https://developers.google.com/maps/documentation/javascript/reference/overlay-view#OverlayView */ position?: google.maps.LatLng | google.maps.LatLngLiteral; /** * Initial open state for the uncontrolled mode (when `v-model:open` is not * bound). When omitted, the overlay opens on mount, matching v0 behaviour. * * Has no effect when `v-model:open` is used; pass an initial value to the * bound ref instead. * @default true */ defaultOpen?: boolean; /** * Anchor point of the overlay relative to its position. * @default 'bottom-center' */ anchor?: ScriptGoogleMapsOverlayAnchor; /** * Pixel offset from the anchor position. */ offset?: { x: number; y: number; }; /** * The map pane on which to render the overlay. * @default 'floatPane' * @see https://developers.google.com/maps/documentation/javascript/reference/overlay-view#MapPanes */ pane?: ScriptGoogleMapsOverlayPane; /** * CSS z-index for the overlay element. */ zIndex?: number; /** * Whether to block map click and gesture events from passing through the overlay. * @default true */ blockMapInteraction?: boolean; /** * Pan the map so the overlay is fully visible when opened, similar to InfoWindow behavior. * Set to `true` for default 40px padding, or a number for custom padding. * @default true */ panOnOpen?: boolean | number; /** * Automatically hide the overlay when its parent marker joins a cluster (on zoom out). * Only applies when nested inside a ScriptGoogleMapsMarkerClusterer. * @default true */ hideWhenClustered?: boolean; } export interface ScriptGoogleMapsOverlayViewEmits { /** Event handler called when the open state of the overlay view changes. */ 'update:open': [value: boolean]; } export interface ScriptGoogleMapsOverlayViewSlots { default?: () => any; } export interface ScriptGoogleMapsOverlayViewExpose { /** The underlying `OverlayView` instance. */ overlayView: ShallowRef; /** * The underlying `OverlayView` instance. * * @deprecated Use `overlayView` instead. The `overlay` alias will be * removed in a future major version. * @see https://scripts.nuxt.com/docs/migration-guide/v0-to-v1 */ overlay: ShallowRef; /** The current data-state of the overlay, either 'open' or 'closed'. */ dataState: Readonly>; } declare const _default: typeof __VLS_export; export default _default; declare const __VLS_export: __VLS_WithSlots any; }, string, import("vue").PublicProps, Readonly & Readonly<{ "onUpdate:open"?: ((value: boolean) => any) | undefined; }>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>, ScriptGoogleMapsOverlayViewSlots>; type __VLS_WithSlots = T & { new (): { $slots: S; }; };