import { ComputedRef } from 'vue'; import { CreateGeoJsonSourceActions } from '..'; import { GeoJSONSource, GeoJSONSourceSpecification } from 'maplibre-gl'; import { Nullable } from '../../types'; /** * GeoJSON source management status enum for better state tracking */ export declare enum GeoJsonSourceStatus { NotRegistered = "not-registered", Registered = "registered", Error = "error" } /** * Enhanced interface for GeoJSON source management methods */ interface GeoJsonSourceMethods { sourceId: ComputedRef; getSource: ComputedRef>; setData: (data: GeoJSONSourceSpecification['data']) => void; refreshSource: () => void; isSourceReady: ComputedRef; sourceStatus: ComputedRef; } /** * Configuration options for GeoJSON source management */ export interface UseGeoJsonSourceProps { debug?: boolean; autoRefresh?: boolean; } /** * Enhanced composable for managing GeoJSON source instances * Provides reactive source management with improved error handling and performance optimizations * * @param props - Configuration options for the GeoJSON source manager * @returns Enhanced methods and state for GeoJSON source management */ export declare function useGeoJsonSource(props?: UseGeoJsonSourceProps): GeoJsonSourceMethods & { register: (instance: CreateGeoJsonSourceActions) => void; }; export {};