import { type IExecutionFactory, type IPreparedExecution } from "@gooddata/sdk-backend-spi"; import { type IInsightDefinition } from "@gooddata/sdk-model"; import { type IExtendedReferencePoint, type IReferencePoint, type IUiConfig, type IVisConstruct, type IVisProps } from "../../../interfaces/Visualization.js"; import { PluggableBaseChart } from "../baseChart/PluggableBaseChart.js"; /** * PluggableGeoPushpinChartNext * * Next-generation geo pushpin chart implementation. * Supports multi-layer geo charts through the insight layers property. * Additional layers configured externally are preserved but not editable in AD. * * @alpha */ export declare class PluggableGeoPushpinChartNext extends PluggableBaseChart { private backend; private workspace; private liveMapView; private spriteIcons; private loadedSpriteIconsKey?; private loadingSpriteIconsKey?; private cachedHasGeoIconLabel; private readonly basemapItemsLoader; constructor(props: IVisConstruct); haveSomePropertiesRelevantForReferencePointChanged(currentReferencePoint: IReferencePoint, nextReferencePoint: IReferencePoint): boolean; private initializePropertiesMeta; /** * Extends reference point with geo pushpin-specific configuration. * Configures UI config, removes sorting, enables percent formatting, and updates clustering properties. * * @param referencePoint - The reference point to extend * @returns Promise resolving to the extended reference point */ getExtendedReferencePoint(referencePoint: IReferencePoint): Promise; getUiConfig(): IUiConfig; protected getSupportedPropertiesList(): string[]; /** * Configures buckets for geo pushpin chart by distributing measures between SIZE and COLOR buckets. * Ensures proper measure distribution and applies bucket item limits. */ protected configureBuckets(extendedReferencePoint: IExtendedReferencePoint): IExtendedReferencePoint; /** * Updates properties in the reference point including clustering and location-based properties. */ private updateSupportedProperties; /** * Validates insight has data defined before rendering. * Throws EmptyAfmSdkError if no data is defined. * * @param insight - The insight definition to validate * @returns true if validation passes * @throws EmptyAfmSdkError if no data is defined * @throws GeoLocationMissingSdkError if latitude attribute is not defined */ protected checkBeforeRender(insight: IInsightDefinition): boolean; /** * Creates execution for geo pushpin chart with virtual buckets for latitude/longitude. * For backends supporting separate lat/long labels, creates virtual LATITUDE and LONGITUDE buckets * and excludes the original LOCATION bucket to avoid duplicate attributes. * * @param options - Visualization options * @param insight - Insight definition containing buckets and filters * @param executionFactory - Factory for creating executions * @returns Configured execution with proper dimensions and sorting */ getExecution(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): IPreparedExecution; getExecutions(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): IPreparedExecution[]; private clearSpriteIcons; private loadSpriteIcons; private syncSpriteIcons; protected renderConfigurationPanel(insight: IInsightDefinition, options: IVisProps): void; /** * Builds geo-specific visualization configuration. * Extends base chart config with geo-specific properties like map tiles and tooltips. * * @param options - Visualization options * @param supportedControls - Supported visualization properties * @returns Next-gen geo chart configuration */ private buildGeoVisualizationConfig; private applyBasemapFallback; protected renderVisualization(options: IVisProps, insight: IInsightDefinition, executionFactory: IExecutionFactory): void; private buildPrimaryLayerContext; private buildAdditionalLayerExecutions; private shouldSkipLayer; private getInsightControlsWithFallback; private getResolvedVisualizationPropertiesWithFallback; private getResolvedReferencePointWithFallback; private syncedHandlers; private handleCenterPositionChanged; private handleZoomChanged; private handleBoundsChanged; private handleViewportInteractionEnded; private getCurrentMapView; } //# sourceMappingURL=PluggableGeoPushpinChartNext.d.ts.map