/** Mean Earth radius, kilometres, the same unit the satellite positions use. */ export declare const PAINT_EARTH_KM = 6371; /** The painted texture: equirectangular, north at the first row, longitude −180 at the first column. */ export declare const PAINT_W = 1024; export declare const PAINT_H = 512; export interface LonLat { lon: number; lat: number; } /** Earth-central angle, in radians, where a satellite `heightKm` up is at least `elevationDeg` above the horizon (10 when left out). 0 when it never is. */ export declare function coverageAngleRad(heightKm: number, elevationDeg?: number): number; /** The ground under a satellite. `x, y, z` are what `Satellites.exact` writes (Earth radii, x to the vernal equinox, y north). `ms` turns the Earth under that place. */ export declare function groundUnder(x: number, y: number, z: number, ms: number): LonLat & { heightKm: number; }; /** Points from `a` to `b` along the great circle, about `stepDeg` apart, including both ends. A fast clock stays a continuous line, and a pole or the date line is many short steps. */ export declare function trackSteps(a: LonLat, b: LonLat, stepDeg: number): LonLat[]; /** One segment, or two when the short way from `a` to `b` crosses the date line, so an equirectangular line does not cross the whole map. Longitude is degrees, −180 to 180. */ export declare function splitDateLine(a: LonLat, b: LonLat): [LonLat, LonLat][]; /** Where a longitude and latitude fall on the painted texture, column and row. */ export declare function paintPixel(lon: number, lat: number): { x: number; y: number; };