/** * RainViewer API client for global precipitation radar imagery * Free API with no authentication required * @see https://www.rainviewer.com/api.html */ import { RainViewerResponse, RainViewerFrame, ImageryFrame } from '../types/imagery.js'; export declare class RainViewerService { private client; private readonly baseUrl; private readonly tileHost; constructor(); /** * Get latest precipitation radar data * Returns timestamps and paths for animated radar */ getRadarData(): Promise; /** * Build tile URL for a specific frame * RainViewer uses tile-based system (similar to web maps) */ buildTileUrl(frame: RainViewerFrame, size?: number, zoom?: number): string; /** * Build tile URL for a specific coordinate * Clamps latitude to Web Mercator projection range to prevent NaN tile coordinates */ buildCoordinateTileUrl(frame: RainViewerFrame, latitude: number, longitude: number, zoom?: number): string; /** * Convert RainViewer frames to standard ImageryFrame format */ convertFrames(frames: RainViewerFrame[], latitude: number, longitude: number): ImageryFrame[]; /** * Convert RainViewer nowcast frames to ImageryFrame format, labeling each * as a forecast frame with its offset in minutes from the latest past frame. */ convertNowcastFrames(frames: RainViewerFrame[], latestPastTime: number, latitude: number, longitude: number): ImageryFrame[]; /** * Get recent precipitation radar imagery (past 2 hours) */ getPrecipitationRadar(latitude: number, longitude: number, animated?: boolean): Promise; } export declare const rainViewerService: RainViewerService; //# sourceMappingURL=rainviewer.d.ts.map