import { Store } from 'store-api/api'; import { Projection } from './CoordinateTransformer.js'; import '@arcgis/core/geometry'; import '@arcgis/core/geometry/SpatialReference'; import '@arcgis/core/geometry/Extent'; import '@arcgis/core/geometry/Geometry'; /** * Store which provides access to the available projections via the store interface. * * Use `coordinatetransformer.ProjectionsStore` to inject an instance of this store * into your components. * * @example Use in own bundle * * In your manifest.json: * * ```json * "components": [{ * "name": "MyComponent", * "references": [{ * "name": "_projectionsStore", * "providing": "coordinatetransformer.ProjectionsStore" * }] * }] * ``` * * Or as alternative in your manifest.json: * * ```json * "components": [{ * "name": "MyComponent", * "references": [{ * "name": "_projectionsStore", * "providing": "ct.api.Store", * "filter": "(id=coordinateTransformerProjectionStore)" * }] * }] * ``` * * In your code (MyComponent.js): * * ```ts * export class MyComponent { * private projectionStore: InjectedReference; * async findAvailableProjections(): Promise> { * const projections = await this.projectionStore!.query({}); * return projections; * } * } * ``` */ type ProjectionStore = Store; export type { ProjectionStore };