import { BBox } from '@turf/helpers'; import { Feature, FeatureCollection } from 'geojson'; import { CancellablePromise, IValueDidChange } from 'mobx'; import { DatabaseFeature, GeojsonEditData, GisBackupStatus, HighlightMode, IdentifierHash, LayerGroups, NearbyQuery, OfflinePack, SearchResult } from '../interfaces/gis.interface'; import { GisFeature } from '../models/_default/gisFeature'; import { ListingConfig } from '../models/_default/listingConfig'; import { Element } from '../models/element'; import { GisElement } from '../models/gisElement'; import { MainStore } from './mainStore'; export declare class GisStore { main: MainStore; features: Map; availableLayers: string[]; selectionGroup: IdentifierHash[]; layerGroups?: LayerGroups; activeFeatures: IdentifierHash[]; selectedFeatures: IdentifierHash[]; highlightedFeatures: IdentifierHash[]; mapPresets: Map; activeMapPresets: string[]; mapPacks: OfflinePack[]; backupStatus?: GisBackupStatus; constructor(main: MainStore); handleModeChange: (mode: HighlightMode) => ({ newValue, oldValue }: IValueDidChange) => void; getMode(id: IdentifierHash): HighlightMode; setSelected(ids: IdentifierHash[]): void; pushSelected(ids: IdentifierHash[]): void; appendSelectionToElement(element: Element): Promise; clearFeatures(): void; setHighlighted(ids: IdentifierHash[]): void; setActive(ids: IdentifierHash[]): void; loadListingPresets(): Promise | undefined>; setActiveListingPresets(): void; loadNear: (query: NearbyQuery, layers: string[]) => CancellablePromise; loadNearNetwork(query: NearbyQuery, layers: string[]): Promise; updateFeature(feature: DatabaseFeature): void; instantiateFeatures(features: DatabaseFeature[], elementContext?: Element): GisFeature[] | undefined; loadLayers(): Promise; loadLayerGroups(): Promise; addFeature(geojson: Feature, layerName: string): Promise; getElementsForFeatures(feature: DatabaseFeature | DatabaseFeature[]): Promise; updateGeojson(geoIdentifier: string, data: GeojsonEditData): Promise; findFeatureFromGeojson(geojson: Feature): DatabaseFeature | undefined; findElementFromFeature(feature: DatabaseFeature): Promise; loadSearchQuery(query: string): Promise; loadSearchQueryNetwork(query: string): Promise; getPlaceLocation(placeId: string): Promise<{ lat: number; lng: number; } | undefined>; refreshSessionToken(): void; getFeaturesForElements(elements: GisElement[] | string[]): Promise; getFeatureForElement(element: GisElement): Promise; getFeatureBBox(feature: DatabaseFeature | Feature | FeatureCollection): BBox; createFeatureElementAndCall: (gisFeature: GisFeature, afterCreate: (element: Element) => void) => Promise; }