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): NTTileData; get minZoom(): number; set minZoom(value: number); get maxZoom(): number; set maxZoom(value: number); } export declare class OrderedTileDataSource extends TileDataSource { createNative(options: OrderedTileDataSourceOptions): NTOrderedTileDataSource; } export declare class CombinedTileDataSource extends TileDataSource { createNative(options: CombinedTileDataSourceOptions): NTCombinedTileDataSource; } export declare class MergedMBVTTileDataSource extends TileDataSource { createNative(options: MergedMBVTTileDataSourceOptions): NTMergedMBVTTileDataSource; } export declare class GeoJSONVectorTileDataSource extends TileDataSource { simplifyTolerance: number; defaultLayerBuffer: number; createNative(options: GeoJSONVectorTileDataSourceOptions): NTGeoJSONVectorTileDataSource; createLayer(name: string): number; deleteLayer(index: number): void; 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; removeGeoJSONFeature(layerIndex: number, id: string | number): void; } export declare class MultiTileDataSource extends TileDataSource { createNative(options: MultiTileDataSourceOptions): NTMultiTileDataSource; add(source: TileDataSource, tileMask?: string): void; remove(source: TileDataSource): void; }