import MapPreviewer from './map'; import type { ExpressionSpecification, FillLayerSpecification, LineLayerSpecification, CircleLayerSpecification, SymbolLayerSpecification, LayerSpecification, VectorSourceSpecification } from 'maplibre-gl'; import type { Layer, PreviewStyleLayer } from '../layers'; import type VectorResource from '../resources/vector'; export type AddVectorSourceObject = VectorSourceSpecification & { id: string; }; export declare const previewStyleLayers: (layers: LayerSpecification[]) => PreviewStyleLayer[]; export default abstract class VectorPreviewer extends MapPreviewer { protected resource: VectorResource; protected getSourceId(): string; protected getDefaultOpacity(): number; protected getLabelOpacity(): number; protected zoomRange(): Promise<{ minzoom?: number; maxzoom?: number; }>; protected createLayers(): Promise; protected createPreviewLayers(layerId: string, geometry: LayerSpecification[], labels: LayerSpecification[]): Layer[]; protected previewLayerId(layerId: string): string; protected previewLayerTitle(_layerId: string): string; protected selectedOpacity(opacity: number): ExpressionSpecification; protected dataColorExpression(): ExpressionSpecification; protected strokeColorExpression(): ExpressionSpecification; protected applyOpacity(styleLayer: PreviewStyleLayer, opacity: number): void; protected createPolygonLayer(layerId: string): FillLayerSpecification; protected createPolygonOutlineLayer(layerId: string): LineLayerSpecification; protected createLineLayer(layerId: string): LineLayerSpecification; protected createPointLayer(layerId: string): CircleLayerSpecification; protected createPolygonLabelLayer(layerId: string): SymbolLayerSpecification; protected createLineLabelLayer(layerId: string): SymbolLayerSpecification; protected createPointLabelLayer(layerId: string): SymbolLayerSpecification; }