import type { Schema, GeoJSONTable, BinaryFeatureCollection } from '@loaders.gl/schema'; import type { DataSourceProps } from "./data-source.js"; import { DataSource } from "./data-source.js"; export type VectorSourceProps = DataSourceProps; /** * VectorSource - data sources that allow features to be queried by (geospatial) extents * @note * - If geospatial, bounding box is expected to be in web mercator coordinates */ export declare abstract class VectorSource extends DataSource { static type: string; static testURL: (url: string) => boolean; abstract getSchema(): Promise; abstract getMetadata(options: { formatSpecificMetadata?: boolean; }): Promise; abstract getFeatures(parameters: GetFeaturesParameters): Promise; } /** * Normalized capabilities of an Image service * @example * The WMSSourceLoader will normalize the response to the WMS `GetCapabilities` * data structure extracted from WMS XML response into an VectorSourceMetadata. */ export type VectorSourceMetadata = { name: string; title?: string; abstract?: string; keywords: string[]; layers: VectorSourceLayer[]; /** * Attempts to preserve the original format specific metadata from the underlying source, * May be an approximate representation */ formatSpecificMetadata?: Record; }; /** Description of one data layer in the image source */ export type VectorSourceLayer = { /** Name of this layer */ name?: string; /** Human readable title of this layer */ title?: string; /** Coordinate systems supported by this layer */ crs?: string[]; /** layer limits in unspecified CRS:84-like lng/lat, for quick access w/o CRS calculations. */ boundingBox?: [min: [x: number, y: number], max: [x: number, y: number]]; /** Sub layers of this layer */ layers?: VectorSourceLayer[]; }; /** Generic parameters for requesting an image from an image source */ export type GetFeaturesParameters = { /** Layers to render */ layers: string | string[]; /** bounding box on the map (only return features within this bbox) */ boundingBox: [min: [x: number, y: number], max: [x: number, y: number]]; /** crs for the returned features (not the bounding box) */ crs?: string; /** @deprecated requested format for the return image */ format?: 'geojson' | 'binary'; }; //# sourceMappingURL=vector-source.d.ts.map