import type { LayerConfig } from '../types/layerconfig'; import { type VMapErrorDetail } from '../utils/events'; import type { MapProvider, LayerUpdate } from '../types/mapprovider'; export interface VMapErrorHost { /** Called by the helper to set the component load state */ setLoadState(state: 'idle' | 'loading' | 'ready' | 'error'): void; } export declare class VMapLayerHelper { private el; private static readonly RUNTIME_ERROR_DEBOUNCE_MS; private layerId; private mapProvider; private _error?; private host?; private initContext?; private listenersBound; private recreateInFlight; private lastRuntimeErrorTime; constructor(el: HTMLElement, host?: VMapErrorHost); startLoading(): void; markReady(): void; markUpdated(): void; setError(detail: VMapErrorDetail): void; setRuntimeError(detail: VMapErrorDetail): void; clearError(): void; getError(): VMapErrorDetail | undefined; private addLayer; protected addToMapInternal(group: HTMLVMapLayergroupElement, vmap: HTMLVMapElement, createLayerConfig: () => LayerConfig, elementId?: string): Promise; private bindMapEventsOnce; private readonly onMapProviderReady; private readonly onMapProviderWillShutdown; setVisible(visible: boolean): Promise; setOpacity(opacity: number): Promise; setZIndex(zIndex: number): Promise; updateLayer(update: LayerUpdate): Promise; recreateLayer(): Promise; initLayer(createLayerConfig: () => LayerConfig, elementId?: string): Promise; dispose(): Promise; getMapProvider(): MapProvider; getLayerId(): string; removeLayer(): Promise; private registerLayerError; private unregisterLayerError; private getVMap; }