import type { Pillars } from './baziTypes'; export type PatternConditionStatus = '满足' | '不满足' | '资料不足'; export interface PatternConditionFact { key: string; status: PatternConditionStatus; detail: string; } export interface PatternStemEvidence { stem: string; tenGod: string; pillar: 'year' | 'month' | 'day' | 'hour'; pillarName: string; branch: string; placement: '透干' | '藏干'; hiddenRole?: '本气' | '中气' | '余气'; rooted: boolean; /** 明透、有可用根气且未受合绊,才可作为本次有效作用干。 */ effective: boolean; rootType: '本根' | '同类根' | '无根'; rootPositions: string[]; clashedRootPositions: string[]; /** 直接六冲的实际来源柱位与地支;不把受冲根来源误当成冲方。 */ clashSourcePositions?: string[]; } export interface PatternInteractionEvidence { type: '天干五合' | '地支六合' | '地支冲' | '制化'; relation: string; source: string; target: string; status: PatternConditionStatus; detail: string; } export type PatternPathPosition = '紧贴' | '隔位' | '未判定'; export interface PatternPathEvaluation { key: string; label: string; status: PatternConditionStatus; source: string[]; target: string[]; /** 来源与作用对象的结构化天干,供取用裁决引用,不从 detail 文本反解析。 */ sourceStems: string[]; targetStems: string[]; /** 只记录四柱外干之间的实际位置,不把距离折算为分数。 */ position: PatternPathPosition; positionPairs: string[]; /** 两端均可用且紧贴的具体柱位组合,供连续制化核对同一中继干。 */ effectivePairs?: Array<{ sourceStem: string; sourcePillar: PillarPosition; targetStem: string; targetPillar: PillarPosition; }>; detail: string; } export interface PatternRemedy { stem: string; pillar: 'year' | 'month' | 'day' | 'hour'; tenGod: string; effect: string; placement?: '透干' | '藏干'; } export interface PatternActiveBreakerStem { stem: string; tenGod: string; pillar: 'year' | 'month' | 'day' | 'hour'; pillarName: string; } /** 已通过透干、根气与合绊门槛的破格神,以及现有救应是否闭合。 */ export interface PatternActiveBreaker { label: string; stems: PatternActiveBreakerStem[]; repairStatus: PatternConditionStatus; repairPathKeys: string[]; detail: string; } export interface PatternFulfillmentResult { patternName: string; status: '成格' | '破格' | '破而复成' | '平常' | '未判定'; basis: string; contradiction: string; remedies: PatternRemedy[]; summary: string; /** 本次成败裁决的具体理由,与通用规则依据分别保留。 */ decisionDetail?: string; evidence?: string[]; conditions?: string[]; conditionFacts?: PatternConditionFact[]; rootEvidence?: PatternStemEvidence[]; interactionEvidence?: PatternInteractionEvidence[]; pathEvaluations?: PatternPathEvaluation[]; activeBreakers?: PatternActiveBreaker[]; } export interface PatternFulfillmentOptions { /** 复用旺衰规则链的定性结果;不在此处重新计算分值。 */ strengthStatus?: string; /** 复用月令司权事实,处理交节分日司令口径。 */ monthCommander?: string; } type GetTenGodFn = (gan: string, dayMaster: string) => string; type PillarPosition = keyof Pillars; /** * 按《子平真诠》“用神成败”与《渊海子平》十神取用的有限可复核条件, * 判断常见正格的月令、透干、根气、位置与制化是否成立。 * * 这里不把十神出现次数换算成分数。未覆盖的派别条件保留“未判定”, * 已覆盖的条件则只在目标、根气、位置和作用链均满足时给出成格/破格结果。 */ export declare function evaluatePatternFulfillment(pillars: Pillars, dayMaster: string, patternName: string, getTenGod: GetTenGodFn, options?: PatternFulfillmentOptions): PatternFulfillmentResult; export {};