import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { GeocodingResponse, GeocodingResult, ForwardGeocodingOptions, ReverseGeocodingOptions, BatchGeocodingRequest, BatchGeocodingResponse, Coordinates } from '../models/opencage-types'; import { OpenCageConfigService } from './opencage-config.service'; import { OpenCageCacheService } from './opencage-cache.service'; import { OpenCageRateLimiterService } from './opencage-rate-limiter.service'; import * as i0 from "@angular/core"; /** * Main OpenCage Geocoding Service */ export declare class OpenCageService { private http; private configService; private cacheService; private rateLimiter; constructor(http: HttpClient, configService: OpenCageConfigService, cacheService: OpenCageCacheService, rateLimiter: OpenCageRateLimiterService); /** * Forward geocoding - convert address to coordinates */ geocode(query: string, options?: ForwardGeocodingOptions): Observable; /** * Reverse geocoding - convert coordinates to address */ reverseGeocode(coordinates: Coordinates, options?: ReverseGeocodingOptions): Observable; /** * Get first result from geocoding */ geocodeFirst(query: string, options?: ForwardGeocodingOptions): Observable; /** * Get first result from reverse geocoding */ reverseGeocodeFirst(coordinates: Coordinates, options?: ReverseGeocodingOptions): Observable; /** * Batch geocoding with sequential processing */ batchGeocode(requests: BatchGeocodingRequest[]): Observable; /** * Stream geocoding results as they arrive */ streamGeocode(queries: string[], options?: ForwardGeocodingOptions): Observable<{ query: string; response: GeocodingResponse; index: number; }>; /** * Promise-based interface for geocoding */ geocodePromise(query: string, options?: ForwardGeocodingOptions): Promise; /** * Promise-based interface for reverse geocoding */ reverseGeocodePromise(coordinates: Coordinates, options?: ReverseGeocodingOptions): Promise; /** * Execute HTTP request with error handling and retries */ private executeRequest; /** * Handle HTTP errors and convert to OpenCage errors */ private handleHttpError; /** * Validate coordinates */ private validateCoordinates; /** * Merge options with defaults */ private mergeWithDefaults; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵprov: i0.ɵɵInjectableDeclaration; } export { reduce } from 'rxjs/operators';