import { GeolocateSuccess, GeolocationPositionError } from '../types'; import { ControlPosition, GeolocateControl, GeolocateControlOptions } from 'maplibre-gl'; /** * Enhanced GeolocateControl component props with comprehensive configuration options */ interface GeolocateControlProps { /** Position of the control on the map */ position?: ControlPosition; /** Geolocate control configuration options */ options?: GeolocateControlOptions; /** Enable debug logging */ debug?: boolean; /** Automatically cleanup resources on unmount */ autoCleanup?: boolean; /** Error handling callback */ /** * Error handling callback. * * Not `onError`: this component also emits `error`, and Vue puts an emit's * handler on `$props` under that same `onError` key. One key for both meant * `@error="fn"` called `fn` twice -- once through the emit, once through * `props.onError`. */ onGeolocateError?: (error: any) => void; /** Success callback for geolocation. Named for the same reason as `onGeolocateError`. */ onGeolocateSuccess?: (data: GeolocateSuccess) => void; /** Callback when user location tracking starts */ onTrackingStart?: (data: GeolocateSuccess) => void; /** Callback when user location tracking ends */ onTrackingEnd?: (data: GeolocateSuccess) => void; /** Callback when user location is out of max bounds */ onOutOfMaxBounds?: (data: GeolocateSuccess) => void; } /** * Enhanced cleanup function for disposing resources */ declare function cleanup(): void; declare function __VLS_template(): { error?(_: {}): any; }; declare const __VLS_component: import('vue').DefineComponent, { position: string; options: () => {}; debug: boolean; autoCleanup: boolean; }>>, { geolocateControl: import('vue').ShallowRef>; isControlAdded: import('vue').ShallowRef; isControlRegistered: import('vue').Ref; hasControlError: import('vue').ComputedRef; controlError: import('vue').Ref; addControl: () => void; removeControl: () => void; trigger: () => void; cleanup: typeof cleanup; }, {}, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, { error: ((ev: any) => void) & ((ev: GeolocationPositionError) => void); geolocate: ((ev: any) => void) & ((ev: GeolocateSuccess) => void); outofmaxbounds: ((ev: any) => void) & ((ev: GeolocateSuccess) => void); trackuserlocationstart: ((ev: any) => void) & ((ev: GeolocateSuccess) => void); trackuserlocationend: ((ev: any) => void) & ((ev: GeolocateSuccess) => void); register: (ev: GeolocateControl) => void; }, string, import('vue').PublicProps, Readonly, { position: string; options: () => {}; debug: boolean; autoCleanup: boolean; }>>> & Readonly<{ onError?: ((ev: GeolocationPositionError) => any) | undefined; onGeolocate?: ((ev: GeolocateSuccess) => any) | undefined; onOutofmaxbounds?: ((ev: GeolocateSuccess) => any) | undefined; onTrackuserlocationstart?: ((ev: GeolocateSuccess) => any) | undefined; onTrackuserlocationend?: ((ev: GeolocateSuccess) => any) | undefined; onRegister?: ((ev: GeolocateControl) => any) | undefined; }>, { debug: boolean; autoCleanup: boolean; options: GeolocateControlOptions; position: ControlPosition; }, {}, {}, {}, string, import('vue').ComponentProvideOptions, true, {}, any>; declare const _default: __VLS_WithTemplateSlots>; export default _default; type __VLS_NonUndefinedable = T extends undefined ? never : T; type __VLS_TypePropsToRuntimeProps = { [K in keyof T]-?: {} extends Pick ? { type: import('vue').PropType<__VLS_NonUndefinedable>; } : { type: import('vue').PropType; required: true; }; }; type __VLS_WithDefaults = { [K in keyof Pick]: K extends keyof D ? __VLS_Prettify : P[K]; }; type __VLS_Prettify = { [K in keyof T]: T[K]; } & {}; type __VLS_WithTemplateSlots = T & { new (): { $slots: S; }; };