import { CombinedTileDataSourceOptions, DataSourceOptions, GeoJSONVectorTileDataSourceOptions, MergedMBVTTileDataSourceOptions, MultiTileDataSourceOptions, OrderedTileDataSourceOptions, TileDataSourceOptions } from '.'; import { FeatureCollection } from '../geometry/feature'; import { BaseNative } from '../BaseNative'; import { Projection } from '../projections'; export declare abstract class DataSource extends BaseNative { getProjection(): any; } export declare class TileDataSource extends DataSource { maxOverzoomLevel: number; encoding: string; createNative(options: any): any; loadTile(x: any, y: any, z: any): com.carto.datasources.components.TileData; get minZoom(): number; set minZoom(value: number); get maxZoom(): number; set maxZoom(value: number); } export declare class OrderedTileDataSource extends TileDataSource { createNative(options: OrderedTileDataSourceOptions): com.carto.datasources.OrderedTileDataSource; } export declare class CombinedTileDataSource extends TileDataSource { createNative(options: CombinedTileDataSourceOptions): com.carto.datasources.CombinedTileDataSource; } export declare class MergedMBVTTileDataSource extends TileDataSource { createNative(options: MergedMBVTTileDataSourceOptions): com.carto.datasources.MergedMBVTTileDataSource; } export declare class GeoJSONVectorTileDataSource extends TileDataSource { simplifyTolerance: number; defaultLayerBuffer: number; createNative(options: GeoJSONVectorTileDataSourceOptions): com.carto.datasources.GeoJSONVectorTileDataSource; createLayer(name: string): number; setLayerFeatureCollection(layerIndex: number, projection: Projection, featureCollection: FeatureCollection): void; setLayerGeoJSON(layerIndex: number, geoJSON: object): void; setLayerGeoJSONString(layerIndex: number, geoJSON: string | object): void; addGeoJSONFeature(layerIndex: number, geoJSON: object): void; addGeoJSONStringFeature(layerIndex: number, geoJSON: string | object): void; updateGeoJSONFeature(layerIndex: number, geoJSON: object): void; updateGeoJSONStringFeature(layerIndex: number, geoJSON: string | object): void; deleteLayer(index: number): void; removeGeoJSONFeature(layerIndex: number, id: string | number): void; } export declare class MultiTileDataSource extends TileDataSource { createNative(options: MultiTileDataSourceOptions): com.carto.datasources.MultiTileDataSource; add(source: TileDataSource, tileMask?: string): void; remove(source: TileDataSource): void; }