/** * astroengine firdaria -- the Persian/medieval system of planetary time-lord * periods (firdariyyat). * * Life divides into nine periods totalling 75 years: the seven planets in the * firdaria order, then the two lunar nodes. A day chart begins with the Sun, a * night chart with the Moon; both follow the same cycle (Sun, Venus, Mercury, * Moon, Saturn, Jupiter, Mars) and close with the North and South Nodes. Each * planetary period splits into seven equal sub-periods led by the seven planets * from that period's lord; node periods have no sub-divisions. Pure time * arithmetic on the natal moment and the chart's sect. Mirrors the Python * reference (astroengine/firdaria.py); the golden fixtures pin the two together. */ import { Engine } from "./chart.js"; /** The firdaria cycle of the seven planets. */ export declare const FIRDARIA_ORDER: readonly ["sun", "venus", "mercury", "moon", "saturn", "jupiter", "mars"]; /** Period length in years for each of the seven planets. */ export declare const FIRDARIA_YEARS: Record<(typeof FIRDARIA_ORDER)[number], number>; /** The two nodes close the sequence with no sub-periods (70 + 5 = 75 years). */ export declare const NODE_PERIODS: ReadonlyArray; /** The nine major firdaria periods in order, as `[lord, years]` pairs. */ export declare function firdariaSequence(day: boolean): Array<[string, number]>; export interface FirdariaSub { lord: string; start: number; end: number; } export interface FirdariaPeriod { lord: string; years: number; start: number; end: number; sub: FirdariaSub[]; } /** The full firdaria timeline from birth. */ export declare function firdaria(day: boolean, natalJd: number, yearLength?: number): FirdariaPeriod[]; /** The major and sub firdar lord active at `targetJd`; both null outside the * 75-year span. */ export declare function firdariaActive(day: boolean, natalJd: number, targetJd: number, yearLength?: number): { major: string | null; sub: string | null; }; /** The active firdar at `targetJd`, taking the chart's sect from the natal * moment and place. */ export declare function firdariaAt(engine: Engine, natalJd: number, targetJd: number, lat: number, lonEast: number, yearLength?: number): { day: boolean; major: string | null; sub: string | null; };