/** * astroengine vargas -- Vedic divisional charts (vargas). * * A varga D-n divides each 30-degree sign into n equal parts and maps each part * to a sign by a classical (Parashari) rule. This covers the unambiguous, * textbook set: D1 (rasi), D3 (drekkana), D9 (navamsa), D10 (dasamsa), and D12 * (dwadasamsa); the contested hora (D2) and unequal trimsamsa (D30) are left to * a later step. Rules (rasi/div 0-based; an "odd sign" is the 1st, 3rd, ... = * even rasi index): D1 the sign; D3 (rasi + 4*div); D9 element start * ([Aries, Capricorn, Libra, Cancer] by element) + div; D10 odd (rasi + div), * even (rasi + 8 + div); D12 (rasi + div). Computed from rasi = floor(lon/30) * and div = floor(within/(30/n)) so sign boundaries stay robust and * `Math.floor` matches Python's `math.floor`. Built on the validated sidereal * longitudes. Mirrors the Python reference (astroengine/vargas.py). */ import { Engine, BodyId, Zodiac } from "./chart.js"; /** Supported divisions. */ export declare const VARGA_DIVISIONS: readonly [1, 2, 3, 9, 10, 12, 30]; export interface Varga { varga: number; rasi: string; rasi_index: number; sign: string; sign_index: number; division: number; } /** The varga D-n placement of a sidereal longitude. */ export declare function varga(siderealLon: number, n: number): Varga; /** The varga D-n of a body (default the Moon) at jd, in a sidereal zodiac. */ export declare function vargaAt(engine: Engine, jdUt: number, n: number, body?: BodyId, zodiac?: Zodiac): Varga; /** The full divisional chart D-n at jd: the varga sign of each body. */ export declare function vargaChart(engine: Engine, jdUt: number, n: number, bodies?: BodyId[], zodiac?: Zodiac): Record;