/** * @param {{ * series: {t0Yr: number, * bodies: Object, zetaP: ReadonlyArray, * zQ: ReadonlyArray, zP: ReadonlyArray}>, * verdict?: {planetHandover?: {rows?: Object}}}, * anchorElements: Object, * invariablePlane?: {inclEclipticDeg: number, ascNodeEclipticDeg: number}, * planetZModes: Object>, * planetZetaModes: Object>, * }} deps — the parsed series artifact, the chain's J2000 anchors + banked * invariable plane, and the deep mode tables (the beyond-span tail). */ export function createSecularSeriesOverride({ series, anchorElements, invariablePlane, planetZModes, planetZetaModes }: { series: { t0Yr: number; bodies: { [x: string]: { stepYr: number; zetaQ: ReadonlyArray; zetaP: ReadonlyArray; zQ: ReadonlyArray; zP: ReadonlyArray; }; }; verdict?: { planetHandover?: { rows?: { [x: string]: { pastKyr: number; futureKyr: number; }; }; }; }; }; anchorElements: { [x: string]: { e: number; lonPeriEclipticDeg: number; inclEclipticDeg: number; ascNodeEclipticDeg: number; }; }; invariablePlane?: { inclEclipticDeg: number; ascNodeEclipticDeg: number; }; planetZModes: { [x: string]: ReadonlyArray<{ omegaRadPerYr: number; re: number; im: number; }>; }; planetZetaModes: { [x: string]: ReadonlyArray<{ omegaRadPerYr: number; re: number; im: number; }>; }; }): { applyToElements: (nm: string, year: number, el: any) => any; }; /** Anchored mode-sum: z(t) = Σ (re + i·im)·e^{iωt}, t years from J2000. */ export function modeSum(modes: ReadonlyArray<{ omegaRadPerYr: number; re: number; im: number; }>, t: number): number[];