/** * @file 玄空飞星 * @description 三元九运、下卦山向飞星、局型组合与结构化证据。 * @传统依据 玄空飞星通行的三元九运、运盘顺飞、元龙阴阳定山向盘顺逆与下卦口径。 * 不做形峦、玄空大卦或吉凶总分。 */ import { type Formation } from '@soul-atelier/xuankong'; import { type XuanKongEvidenceAnalysis } from './evidence'; export type XuanKongFormation = Formation; export interface XuanKongPeriod { year: number; yuan: '上元' | '中元' | '下元'; yun: number; yunStar: number; startYear: number; endYear: number; label: string; } export interface XuanKongMeasurement { facingDegree?: number; sitDegree?: number; stability: '稳定' | '山向边界敏感'; nearestBoundaryDistanceDegrees?: number; candidateMountains?: Array<{ sitMountain: string; facingMountain: string; label: string; }>; warnings: string[]; } export interface XuanKongInput { year: number; sitMountain?: string; facingMountain?: string; facingDegree?: number; sitDegree?: number; measurementUncertaintyDegrees?: number; } export interface XuanKongPalace { gong: number; name: string; direction: string; yunStar: number; shanStar: number; xiangStar: number; } export interface XuanKongCombination { name: string; kind: 'auspicious' | 'inauspicious'; palaces?: number[]; note: string; } export interface XuanKongResult { period: XuanKongPeriod; sitMountain: string; facingMountain: string; plates: { yun: number[]; shan: number[]; xiang: number[]; }; palaces: XuanKongPalace[]; formation: XuanKongFormation; combinations: XuanKongCombination[]; engine: { name: '@soul-atelier/xuankong'; version: '0.2.1'; mode: '下卦'; }; daoShanXiang: { shanToMountain: boolean; xiangToFacing: boolean; summary: string; }; measurement?: XuanKongMeasurement; evidenceAnalysis: XuanKongEvidenceAnalysis; prompt: string; } export type FlyDirection = '顺飞' | '逆飞'; export declare function resolveXuanKongPeriod(year: number): XuanKongPeriod; /** * 九星入中后按显式方向飞布。 * 返回长度 9 的数组,下标 0..8 对应宫 1..9。 */ export declare function flyStars(centerStar: number, direction: FlyDirection): number[]; export declare function generateXuanKong(input: XuanKongInput): XuanKongResult; export type { XuanKongEvidenceAnalysis };