/** * astroengine ashtottari -- the Ashtottari dasha, a 108-year conditional dasha. * * Eight lords rule in order -- Sun 6, Moon 15, Mars 8, Mercury 17, Saturn 10, * Jupiter 19, Rahu 12, Venus 21 years (totalling 108). Unlike Vimshottari the * nakshatra-to-lord mapping is in irregular groups, and the elapsed portion of * the first period is measured across the lord's whole multi-nakshatra span. * * Convention: the JHora/PVR Narasimha Rao mapping (the PyJHora implementation), * which the texts vary around; the lord ranges and across-span balance are * reproduced from it, validated against the named source in `validate_jyotish` * rather than asserted. Mirrors the Python reference (astroengine/ashtottari.py); * the golden fixtures pin the two together. */ import { Engine, Zodiac } from "./chart.js"; export declare const ASHTOTTARI_ORDER: readonly ["sun", "moon", "mars", "mercury", "saturn", "jupiter", "rahu", "venus"]; export declare const ASHTOTTARI_YEARS: Record<(typeof ASHTOTTARI_ORDER)[number], number>; /** The Ashtottari dasha lord governing a nakshatra index (0-based). */ export declare function ashtottariLord(nakIndex: number): string; export interface AshtottariSub { lord: string; start: number; end: number; } export interface AshtottariPeriod { level: number; lord: string; years: number; start: number; end: number; sub: AshtottariSub[]; } export interface AshtottariTimeline { start_lord: string; balance_years: number; dashas: AshtottariPeriod[]; } /** The Ashtottari dasha timeline from the Moon's sidereal longitude. */ export declare function ashtottariDashas(moonLon: number, natalJd: number, levels?: number, yearLength?: number, count?: number): AshtottariTimeline; export interface AshtottariActive { maha: string; antar: string | null; } /** The maha and antar lord active at targetJd; null before the first period. */ export declare function ashtottariActive(moonLon: number, natalJd: number, targetJd: number, yearLength?: number): AshtottariActive | null; /** Ashtottari dasha active at targetJd, from the natal Moon's nakshatra. */ export declare function ashtottariAt(engine: Engine, natalJd: number, targetJd: number, zodiac?: Zodiac, yearLength?: number): { moon_nakshatra: string; start_lord: string; } & Partial;