import { EarthlyBranchKey, EarthlyBranchName, GenderName, HeavenlyStemName } from '../i18n'; import { AstrolabeParam } from '../data/types'; /** * 起紫微星诀算法 * * - 六五四三二,酉午亥辰丑, * - 局数除日数,商数宫前走; * - 若见数无余,便要起虎口, * - 日数小於局,还直宫中守。 * * 举例: * - 例一:27日出生木三局,以三除27,循环0次就可以整除,27➗3=9,从寅进9格,在戍安紫微。 * - 例二:13日出生火六局,以六除13,最少需要加5才能整除, 18➗8=3,从寅进3格为辰,添加数为5(奇数),故要逆回五宫,在亥安紫微。 * - 例三:6日出生土五局,以五除6,最少需要加4才能整除,10➗5=2,从寅进2格为卯,添加数为4(偶数),顺行4格为未,在未安紫微。 * * @param solarDateStr 公历日期 YYYY-MM-DD * @param timeIndex 时辰索引【0~12】 * @param fixLeap 是否调整农历闰月(若该月不是闰月则不会生效) * @param from 根据传入的干支起五行局来计算紫微星和天府星位置 * @returns 紫微和天府星所在宫位索引 */ export declare const getStartIndex: (param: AstrolabeParam) => { ziweiIndex: number; tianfuIndex: number; }; /** * 按年干支计算禄存、擎羊,陀罗、天马的索引 * * 定禄存、羊、陀诀(按年干) * * - 甲禄到寅宫,乙禄居卯府。 * - 丙戊禄在巳,丁己禄在午。 * - 庚禄定居申,辛禄酉上补。 * - 壬禄亥中藏,癸禄居子户。 * - 禄前羊刃当,禄后陀罗府。 * * 安天马(按年支),天马只会出现在四马地【寅申巳亥】 * * - 寅午戍流马在申,申子辰流马在寅。 * - 巳酉丑流马在亥,亥卯未流马在巳。 * * @param heavenlyStemName 天干 * @param earthlyBranchName 地支 * @returns 禄存、擎羊,陀罗、天马的索引 */ export declare const getLuYangTuoMaIndex: (heavenlyStemName: HeavenlyStemName, earthlyBranchName: EarthlyBranchName) => { luIndex: number; maIndex: number; yangIndex: number; tuoIndex: number; }; /** * 获取天魁天钺所在宫位索引(按年干) * * - 甲戊庚之年丑未 * - 乙己之年子申 * - 辛年午寅 * - 壬癸之年卯巳 * - 丙丁之年亥酉 * * @param heavenlyStemName 天干 * @returns */ export declare const getKuiYueIndex: (heavenlyStemName: HeavenlyStemName) => { kuiIndex: number; yueIndex: number; }; /** * 获取左辅右弼的索引(按生月) * * - 辰上顺正寻左辅 * - 戌上逆正右弼当 * * 解释: * * - 从辰顺数农历月份数是左辅的索引 * - 从戌逆数农历月份数是右弼的索引 * * @param lunarMonth 农历月份 * @returns 左辅、右弼索引 */ export declare const getZuoYouIndex: (lunarMonth: number) => { zuoIndex: number; youIndex: number; }; /** * 获取文昌文曲的索引(按时支) * * - 辰上顺时文曲位 * - 戌上逆时觅文昌 * * 解释: * * - 从辰顺数到时辰地支索引是文曲的索引 * - 从戌逆数到时辰地支索引是文昌的索引 * * 由于时辰地支的索引即是时辰的序号,所以可以直接使用时辰的序号 * * @param timeIndex 时辰索引【0~12】 * @returns 文昌、文曲索引 */ export declare const getChangQuIndex: (timeIndex: number) => { changIndex: number; quIndex: number; }; /** * 获取日系星索引,包括 * * 三台,八座,恩光,天贵 * * - 安三台八座 * - 由左辅之宫位起初一,顺行至生日安三台。 * - 由右弼之宫位起初一,逆行至生日安八座。 * * - 安恩光天贵 * - 由文昌之宫位起初一,顺行至生日再退一步起恩光。 * - 由文曲之宫位起初一,顺行至生日再退一步起天贵。 * * @param solarDateStr 阳历日期 * @param timeIndex 时辰索引【0~12】 * @returns 三台,八座索引 */ export declare const getDailyStarIndex: (solarDateStr: string, timeIndex: number, fixLeap?: boolean) => { santaiIndex: number; bazuoIndex: number; enguangIndex: number; tianguiIndex: number; }; /** * 获取时系星耀索引,包括台辅,封诰 * * @param timeIndex 时辰序号【0~12】 * @returns 台辅,封诰索引 */ export declare const getTimelyStarIndex: (timeIndex: number) => { taifuIndex: number; fenggaoIndex: number; }; /** * 获取地空地劫的索引(按时支) * * - 亥上子时顺安劫 * - 逆回便是地空亡 * * 解释: * * - 从亥顺数到时辰地支索引是地劫的索引 * - 从亥逆数到时辰地支索引是地空的索引 * * 由于时辰地支的索引即是时辰的序号,所以可以直接使用时辰的序号 * * @param timeIndex 时辰索引【0~12】 * @returns 地空、地劫索引 */ export declare const getKongJieIndex: (timeIndex: number) => { kongIndex: number; jieIndex: number; }; /** * 获取火星铃星索引(按年支以及时支) * * - 申子辰人寅戌扬 * - 寅午戌人丑卯方 * - 巳酉丑人卯戌位 * - 亥卯未人酉戌房 * * 起火铃二耀先据出生年支,依口诀定火铃起子时位。 * * 例如壬辰年卯时生人,据[申子辰人寅戌扬]口诀,故火星在寅宫起子时,铃星在戌宫起子时,顺数至卯时,即火星在巳,铃星在丑。 * * @param earthlyBranchName 地支 * @param timeIndex 时辰序号 * @returns 火星、铃星索引 */ export declare const getHuoLingIndex: (earthlyBranchName: EarthlyBranchName, timeIndex: number) => { huoIndex: number; lingIndex: number; }; /** * 获取红鸾天喜所在宫位索引 * * - 卯上起子逆数之 * - 数到当生太岁支 * - 坐守此宫红鸾位 * - 对宫天喜不差移 * * @param earthlyBranchName 年支 * @returns 红鸾、天喜索引 */ export declare const getLuanXiIndex: (earthlyBranchName: EarthlyBranchName) => { hongluanIndex: number; tianxiIndex: number; }; /** * 安华盖 * - 子辰申年在辰,丑巳酉年在丑 * - 寅午戍年在戍,卯未亥年在未。 * * 安咸池 * - 子辰申年在酉,丑巳酉年在午 * - 寅午戍年在卯,卯未亥年在子。 * * @param earthlyBranchName 地支 * @returns 华盖、咸池索引 */ export declare const getHuagaiXianchiIndex: (earthlyBranchName: EarthlyBranchName) => { huagaiIndex: number; xianchiIndex: number; }; /** * 安孤辰寡宿 * - 寅卯辰年安巳丑 * - 巳午未年安申辰 * - 申酉戍年安亥未 * - 亥子丑年安寅戍。 * * @param earthlyBranchName 地支 * @returns 孤辰、寡宿索引 */ export declare const getGuGuaIndex: (earthlyBranchName: EarthlyBranchName) => { guchenIndex: number; guasuIndex: number; }; /** * 安劫杀诀(年支) * 申子辰人蛇开口、亥卯未人猴速走 * 寅午戌人猪面黑、巳酉丑人虎咆哮 * * @version v2.5.0 * * @param earthlyBranchKey 生年地支 * @returns {number} 劫杀索引 */ export declare const getJieshaAdjIndex: (earthlyBranchKey: EarthlyBranchKey) => 0 | 3 | 6 | 9; /** * 安大耗诀(年支) * 但用年支去对冲、阴阳移位过一宫 * 阳顺阴逆移其位、大耗原来不可逢 * * 大耗安法,是在年支之对宫,前一位或后一位安星。阳支顺行前一位,阴支逆行后一位。 * * @param earthlyBranchKey 生年地支 * @returns {number} 大耗索引 */ export declare const getDahaoIndex: (earthlyBranchKey: EarthlyBranchKey) => number; /** * 获取年系星的索引,包括 * 咸池,华盖,孤辰,寡宿, 天厨,破碎,天才,天寿,蜚蠊, 龙池,凤阁,天哭,天虚, * 天官,天福 * * - 安天才天寿 * - 天才由命宫起子,顺行至本生年支安之。天寿由身宫起子,顺行至本生年支安之。 * * - 安破碎 * - 子午卯酉年安巳宫,寅申巳亥年安酉宫,辰戍丑未年安丑宫。 * * - 安天厨 * - 甲丁食蛇口,乙戊辛马方。丙从鼠口得,己食于猴房。庚食虎头上,壬鸡癸猪堂。 * * - 安蜚蠊 * - 子丑寅年在申酉戍,卯辰巳年在巳午未,午未申年在寅卯辰,酉戍亥年在亥子丑。 * * - 安龙池凤阁 * - 龙池从辰宫起子,顺至本生年支安之。凤阁从戍宫起子,逆行至本生年支安之。 * * - 安天哭天虚 * - 天哭天虚起午宫,午宫起子两分踪,哭逆行兮虚顺转,数到生年便停留。 * * - 安天官天福 * - 甲喜羊鸡乙龙猴,丙年蛇鼠一窝谋。丁虎擒猪戊玉兔, * - 己鸡居然与虎俦。庚猪马辛鸡蛇走,壬犬马癸马蛇游。 * * - 安截路空亡(截空) * - 甲己之年申酉,乙庚之年午未, * - 丙辛之年辰巳,丁壬之年寅卯, * - 戊癸之年子丑。 * * - 安天空 * - 生年支顺数的前一位就是。 * @param solarDate 阳历日期 * @param timeIndex 时辰序号 * @param gender 性别 * @param fixLeap 是否修复闰月,假如当月不是闰月则不生效 */ export declare const getYearlyStarIndex: (param: AstrolabeParam) => { xianchiIndex: number; huagaiIndex: number; guchenIndex: number; guasuIndex: number; tiancaiIndex: number; tianshouIndex: number; tianchuIndex: number; posuiIndex: number; feilianIndex: number; longchiIndex: number; fenggeIndex: number; tiankuIndex: number; tianxuIndex: number; tianguanIndex: number; tianfuIndex: number; tiandeIndex: number; yuedeIndex: number; tiankongIndex: number; jieluIndex: number; kongwangIndex: number; xunkongIndex: number; tianshangIndex: number; tianshiIndex: number; jiekongIndex: number; jieshaAdjIndex: number; nianjieIndex: number; dahaoAdjIndex: number; }; export declare const getTianshiTianshangIndex: (gender: GenderName, earthlyBranch: EarthlyBranchKey, soulIndex: number) => { tianshangIndex: number; tianshiIndex: number; }; /** * 获取年解的索引 * * - 年解(按年支) * - 解神从戌上起子,逆数至当生年太岁上是也 * * @param earthlyBranch 地支(年) * @returns 年解索引 */ export declare const getNianjieIndex: (earthlyBranchName: EarthlyBranchName) => number; /** * 获取以月份索引为基准的星耀索引,包括解神,天姚,天刑,阴煞,天月,天巫 * 解神分为年解和月解,月解作用更加直接快速,年解稍迟钝,且作用力没有月解那么大 * * - 月解(按生月) * - 正二在申三四在戍,五六在子七八在寅,九十月坐於辰宫,十一十二在午宫。 * * - 安天刑天姚(三合必见) * - 天刑从酉起正月,顺至生月便安之。天姚丑宫起正月,顺到生月即停留。 * * - 安阴煞 * - 正七月在寅,二八月在子,三九月在戍,四十月在申,五十一在午,六十二在辰。 * * - 安天月 * - 一犬二蛇三在龙,四虎五羊六兔宫。七猪八羊九在虎,十马冬犬腊寅中。 * * - 安天巫 * - 正五九月在巳,二六十月在申,三七十一在寅,四八十二在亥。 * * @param solarDate 阳历日期 * @param timeIndex 时辰序号 * @param fixLeap 是否修复闰月,假如当月不是闰月则不生效 * @returns */ export declare const getMonthlyStarIndex: (solarDate: string, timeIndex: number, fixLeap?: boolean) => { yuejieIndex: number; tianyaoIndex: number; tianxingIndex: number; yinshaIndex: number; tianyueIndex: number; tianwuIndex: number; }; /** * 通过 大限/流年 天干获取流昌流曲 * * - 流昌起巳位 甲乙顺流去 * - 不用四墓宫 日月同年岁 * - 流曲起酉位 甲乙逆行踪 * - 亦不用四墓 年日月相同 * * @param heavenlyStemName 天干 * @returns 文昌、文曲索引 */ export declare const getChangQuIndexByHeavenlyStem: (heavenlyStemName: HeavenlyStemName) => { changIndex: number; quIndex: number; };