import { Observable } from 'rxjs'; import { HttpClient, HttpHeaders } from '@angular/common/http'; import { IOverlaysPlanetFetchData, PlanetOverlay } from './planet.model'; import { ErrorHandlerService } from '../../../modules/core/services/error-handler.service'; import { IMultipleOverlaysSourceConfig } from '../../../modules/core/models/multiple-overlays-source-config'; import { LoggerService } from '../../../modules/core/services/logger.service'; import { BaseOverlaySourceProvider, IFetchParams } from '../../../modules/overlays/models/base-overlay-source-provider.model'; import { IOverlayByIdMetaData } from '../../../modules/overlays/services/overlays.service'; import { IOverlay } from '../../../modules/overlays/models/overlay.model'; export declare const PlanetOverlaySourceType = "PLANET"; export declare const PlanetOverlaysSourceConfig = "planetOverlaysSourceConfig"; export interface IPlanetOverlaySourceConfig { baseUrl: string; itemTypes: string[]; apiKey: string; tilesUrl: string; delayMultiple: number; } export interface IPlanetFilter { type: string; field_name?: string; config: any | Array; } export interface IPlanetFetchParams extends IFetchParams { planetFilters: IPlanetFilter[]; } export declare class PlanetSourceProvider extends BaseOverlaySourceProvider { errorHandlerService: ErrorHandlerService; protected http: HttpClient; protected planetOverlaysSourceConfig: IPlanetOverlaySourceConfig; protected multipleOverlaysSourceConfig: IMultipleOverlaysSourceConfig; protected loggerService: LoggerService; readonly httpHeaders: HttpHeaders; protected planetDic: { sensorType: string; sensorName: string; photoTime: string; bestResolution: string; }; constructor(errorHandlerService: ErrorHandlerService, http: HttpClient, planetOverlaysSourceConfig: IPlanetOverlaySourceConfig, multipleOverlaysSourceConfig: IMultipleOverlaysSourceConfig, loggerService: LoggerService); buildFilters({ config, sensors, type }: { config: IPlanetFilter | IPlanetFilter[]; sensors?: string[]; type?: 'AndFilter' | 'OrFilter'; }): { item_types: string[]; filter: { type: "AndFilter" | "OrFilter"; config: IPlanetFilter | IPlanetFilter[]; }; }; appendApiKey(url: string): string; buildFetchObservables(fetchParams: IFetchParams): Observable[]; paramsToFilter(fetchParams: IFetchParams): IPlanetFilter; fetch(fetchParams: IPlanetFetchParams): Observable; getById(id: string, sourceType: string): Observable; getByIds(ids: IOverlayByIdMetaData[]): Observable; private _getBboxFilter; parsePlanetFilters(facets?: { filters: any[]; }): IPlanetFilter[]; private extractArrayData; private extractData; protected parseData(element: PlanetOverlay): IOverlay; }