/** * Browser-safe entry point for @node-jhora/core * Excludes Node.js-only modules (Geocoder, PlanetaryStream) */ import { DateTime } from 'luxon'; import { EphemerisEngine, PlanetPosition, HouseData } from './engine/ephemeris.js'; import { calculateHouseCusps, HouseSystemMethod } from './vedic/houses.js'; import { calculateVarga, calculateShashtyamsa, VargaPoint } from './vedic/vargas.js'; import { calculatePanchanga, PanchangaResult } from './vedic/panchanga.js'; import { calculateTimeUpagrahas, calculateDhumadiUpagrahas, UpagrahaPositions } from './vedic/upagrahas.js'; import { calculatePranapada, calculateInduLagna, calculateShreeLagna, calculateHoraLagna, calculateGhatiLagna, calculateBhavaLagna, calculateVarnadaLagna } from './vedic/special_lagnas.js'; import { getRelationship, Relationship, PLANET_IDS } from './core/relationships.js'; import { KPSubLord, KPSignificator } from './kp/sublord.js'; import { KPRuling, RulingPlanetsResult } from './kp/ruling.js'; import { VargaDeities } from './vedic/deities.js'; export type { PlanetPosition, HouseData, PanchangaResult, KPSignificator, RulingPlanetsResult, VargaPoint, UpagrahaPositions, HouseSystemMethod }; export interface ChartData { planets: PlanetPosition[]; houses: HouseData; ascendant: number; ayanamsa: string; } export type Ayanamsa = 'Lahiri' | 'Raman' | 'KP'; export { normalize360, getShortestDistance, dmsToDecimal, decimalToDms } from './core/math.js'; export { calculateVarga, calculateShashtyamsa, VargaDeities, getRelationship, PLANET_IDS, Relationship }; export interface NodeJHoraConfig { ayanamsaOrder?: number; topocentric?: boolean; nodeType?: 'mean' | 'true'; ayanamsaOffset?: number; } /** * Facade Class for Object-Oriented Usage */ export declare class NodeJHora { private ephemeris; private location; private ayanamsa; private ayanamsaName; private config; constructor(location: { latitude: number; longitude: number; }, config?: NodeJHoraConfig); init(): Promise; /** * Initialize the WASM engine (call once before calculate) */ static init(): Promise; /** * Quick calculation without creating an instance */ static calculate(date: Date, location: { latitude: number; longitude: number; }, ayanamsaName?: Ayanamsa, config?: NodeJHoraConfig): ChartData; getPlanets(date: DateTime): PlanetPosition[]; getHouses(date: DateTime, system?: HouseSystemMethod): HouseData; getChart(date: DateTime, system?: HouseSystemMethod): ChartData; getPanchanga(date: DateTime): PanchangaResult; } export { EphemerisEngine, calculateHouseCusps, calculatePanchanga, KPSubLord, KPRuling, calculateTimeUpagrahas, calculateDhumadiUpagrahas, calculatePranapada, calculateInduLagna, calculateShreeLagna, calculateHoraLagna, calculateGhatiLagna, calculateBhavaLagna, calculateVarnadaLagna };