import { EventEmitter } from '../../stencil-public-runtime';
import type { VMapErrorDetail } from '../../utils/events';
import { type VMapErrorHost } from '../../layer/v-map-layer-helper';
/**
* Google Maps Basemap Layer
*/
export declare class VMapLayerGoogle implements VMapErrorHost {
el: HTMLElement;
/** Current load state of the layer. */
loadState: 'idle' | 'loading' | 'ready' | 'error';
/**
* Karten-Typ: "roadmap" | "satellite" | "hybrid" | "terrain".
* @default "roadmap"
*/
mapType: 'roadmap' | 'satellite' | 'terrain' | 'hybrid';
/**
* Google Maps API-Schlüssel.
* @example
*
*/
apiKey?: string;
/**
* Sprach-Lokalisierung (BCP-47, z. B. "de", "en-US").
* @default "en"
*/
language?: string;
/**
* Region-Bias (ccTLD/Region-Code, z. B. "DE", "US").
* Beeinflusst Labels/Suchergebnisse.
*/
region?: string;
/**
* Sichtbarkeit des Layers.
* @default true
*/
visible: boolean;
/**
* Opazität des Layers (0–1).
* @default 1
*/
opacity: number;
/**
* Scale factor for tile display.
* @default "scaleFactor1x"
*/
scale?: 'scaleFactor1x' | 'scaleFactor2x' | 'scaleFactor4x';
/**
* Maximum zoom level for the layer.
*/
maxZoom?: number;
/**
* Custom styles for the Google Map (JSON array of styling objects).
* Can be passed as JSON string or array.
*/
styles?: Record[] | string;
/**
* Google Maps libraries to load (comma-separated string).
* @example "geometry,places,drawing"
*/
libraries?: string;
/**
* Signalisiert, dass der Google-Layer bereit ist. `detail` enthält Metadaten.
* @event ready
*/
ready: EventEmitter;
private hasLoadedOnce;
private helper;
setLoadState(state: 'idle' | 'loading' | 'ready' | 'error'): void;
/** Returns the last error detail, if any. */
getError(): Promise;
parseStyles(newValue: Record[] | string): void;
private createLayerConfig;
connectedCallback(): Promise;
componentWillLoad(): Promise;
componentDidLoad(): Promise;
disconnectedCallback(): Promise;
render(): void;
}