import type { GeneratedCharacterData } from './generated-data'; export { getZhugeInterpretation } from './zhuge-interpretations'; import { analyzeNumberEnergyPair } from './number-energy-tradition'; export { getKongmingInterpretation } from './kongming-interpretations'; export { analyzeNumberEnergyPair } from './number-energy-tradition'; export { analyzeNameSancai } from './naming-tradition'; import { type BaziChartInputDraft } from '../bazi/input'; import type { BirthProfileTimeRange } from '../profile/time-range'; import { type PromptSelection } from '../prompt/framework'; export type Wuxing = '金' | '木' | '水' | '火' | '土'; export type NamingGender = '男' | '女' | '通用'; export type CharacterDetail = GeneratedCharacterData & { kangxiText?: string | null; strokeNote?: string; readingNote?: string; }; export interface CharacterSearchFilter { strokes?: number; strokesMin?: number; strokesMax?: number; wuxing?: Wuxing; radical?: string; pinyin?: string; commonOnly?: boolean; limit?: number; } export type NamingBirthRangeSource = BirthProfileTimeRange & { pillars: { year: string; month: string; day: string; hour: string; }; }; export type NamingBirthInput = BaziChartInputDraft & { /** 起名入口也可明确传入缺时资料;不把任意时辰当作出生事实。 */ isThreePillars?: boolean; /** 四柱反推所得的标准北京时间半开区间。 */ birthTimeRange?: NamingBirthRangeSource; }; declare function calculateNamingPointBirthContext(input: NamingBirthInput): { solarDate: string; timeBasis: { inputDate: string; inputTime: string; mode: string; place: string; longitude: number | null; locationLevel: import("../location").BirthPlaceLevel | null; coordinateAccuracy: import("../location").BirthPlaceCoordinateAccuracy | null; timezone: number | null; timeZoneId: string | null; calculatedTime: string; }; lunarDate: string; pillars: any[]; dayMaster: string; zodiac: string; pattern: { name: string; isSpecial: boolean; basis: string; transformation: import("../bazi/baziTypes").PatternTransformationEvidence | undefined; fulfillment: { conditions: string[]; conditionFacts: import("../bazi").PatternConditionFact[]; pathEvaluations: import("../bazi").PatternPathEvaluation[]; remedies: import("../bazi").PatternRemedy[]; patternName: string; status: "\u6210\u683C" | "\u7834\u683C" | "\u7834\u800C\u590D\u6210" | "\u5E73\u5E38" | "\u672A\u5224\u5B9A"; basis: string; contradiction: string; summary: string; decisionDetail?: string; evidence?: string[]; rootEvidence?: import("../bazi").PatternStemEvidence[]; interactionEvidence?: import("../bazi").PatternInteractionEvidence[]; activeBreakers?: import("../bazi").PatternActiveBreaker[]; } | null; }; favorableElements: Wuxing[]; unfavorableElements: Wuxing[]; incrementStatus: "待判" | "已判定" | "部分判定"; usefulGodReason: string; functionalUse: string[]; monthContext: { branch: string; commander: string; season: string; term: string; }; pillarDetails: { label: "年柱" | "月柱" | "日柱" | "时柱"; ganZhi: string; hiddenStems: { stem: string; tenGod: string; }[]; }[]; strength: { status: "未知" | "极强" | "身强" | "偏强" | "极弱" | "身弱" | "偏弱" | "中和"; basis: string[]; }; climate: { nature: "\u504F\u5BD2" | "\u504F\u71E5" | "\u672A\u89C1\u660E\u663E\u504F\u5411" | "\u5FAE\u504F\u5BD2" | "\u5FAE\u504F\u71E5"; medicine: string; summary: string; } | null; warnings: string[]; unknownTimeAnalysis: { status: "\u5F85\u8865\u65F6"; summary: string; uncertainPillars: Array<"year" | "month" | "day">; uncertainCalendarDates?: Array<"solar" | "lunar">; batch?: import("../bazi").BaziUnknownTimeBatchMetadata; scenarios: Array<{ scenarioKey: string; inputClockTime: string; source: "day-start" | "shichen-representative" | "day-end" | "solar-term-boundary" | "month-commander-boundary" | "dst-boundary"; boundary?: { name: string; side: "before" | "at"; }; timeIndex: number; timeName: string; solarDate?: import("../bazi").BaziChartResult["solarDate"]; lunarDate?: import("../bazi").BaziChartResult["lunarDate"]; pillars: import("../bazi").Pillars; strength: import("../bazi/baziTypes").DayMasterStrengthStatus; pattern: string; patternStatus?: import("../bazi").PatternFulfillmentResult["status"]; incrementStatus?: import("../bazi").UsefulGodAnalysis["incrementStatus"]; favorableWuxing: string[]; unfavorableWuxing: string[]; }>; } | null; }; export type NamingBirthPointContext = ReturnType; export interface NamingBirthRangeBranch { startTimestamp: number; endTimestamp: number; sampleCount: number; startTime: string; endTime: string; context: NamingBirthPointContext; } export type NamingBirthContext = NamingBirthPointContext & { birthRange?: { source: NamingBirthRangeSource; totalSamples: number; stableFavorableElements: Wuxing[]; conditionalFavorableElements: Wuxing[]; branches: NamingBirthRangeBranch[]; }; }; export declare function calculateNamingBirthContext(input: NamingBirthInput): NamingBirthContext; declare function analyzeNameStructure(surname: string, given: string, options?: { xiYong?: Wuxing[]; conditionalXiYong?: Wuxing[]; birthContext?: ReturnType; }): { surname: string; given: string; chars: { isSurname: boolean; surnameReading: string | undefined; char: string; simplified: string; traditional: string; kangxiStrokes: number; radical?: string; wuxing: string | null; pinyin?: string; definition?: string | null; common: boolean; simplifiedStrokes: number | null; traditionalStrokes: number | null; structure: string | null; kangxiVolume: string | null; kangxiSection: string | null; kangxiText?: string | null; strokeNote?: string; readingNote?: string; }[]; rawGrids: { tian: number; ren: number; di: number; wai: number; zong: number; }; gridDerivations: ({ value: number; expression: string; key: "tian"; name: "天格"; operands: number[]; rule: "单姓笔画加一" | "复姓两字笔画相加"; } | { value: number; expression: string; key: "ren"; name: "人格"; operands: readonly [number, number]; rule: "姓氏末字与名字首字笔画相加"; } | { value: number; expression: string; key: "di"; name: "地格"; operands: number[]; rule: "单字名笔画加一" | "名字两字笔画相加"; } | { value: number; expression: string; key: "wai"; name: "外格"; operands: readonly [number, number]; rule: "取姓氏外侧与名字外侧笔画,单姓或单字名一侧以一补位"; } | { value: number; expression: string; key: "zong"; name: "总格"; operands: readonly number[]; rule: "姓名全部汉字笔画相加"; })[]; namingTradition: { methods: ({ name: "信"; meaning: "依据出生时的事实命名。"; } | { name: "义"; meaning: "依据品德命名。"; } | { name: "象"; meaning: "依据相类的形象或特征命名。"; } | { name: "假"; meaning: "借用事物之名。"; } | { name: "类"; meaning: "取与父亲相关的命名依据。"; })[]; title: "《左传·桓公六年》命名五法"; referenceUrl: "https://ctext.org/text.pl?if=gb&node=17216&remap=gb&show=parallel"; sourceExcerpt: "名有五:有信,有义,有象,有假,有类。以名生为信,以德名为义,以类命为象,取于物为假,取于父为类。"; application: "现代取名可将出生纪念、品德寄托、意象与事物联想作为构思角度,再核对组合后的语义和日常称呼。辈分字位置依照明确的家庭用字要求处理。"; context: "《礼记·曲礼上》记载古代为子取名的避忌,属于古代礼制语境;现代选字结合家庭习惯与实际称呼判断。"; lijiSourceExcerpt: "名子者不以国,不以日月,不以隐疾,不以山川。"; scope: "《左传》的命名五法与《礼记》的古代礼文提供历史和命名语境;五格、三才按姓名学数理取象列作参考。字义、读音、字形、出生取用和姓名学数理提供不同角度的参考。"; }; grids: { [k: string]: { level: string; poem: string; text: string; keywords: string; level_note?: string; num: number; wuxing: Wuxing; role: "祖运" | "主运" | "前运" | "副运" | "后运"; }; }; sancai: { combo: string; tian_ren: string; ren_di: string; level: string; text: string; }; sancaiEvidence: { combo: string; positions: { name: "天格" | "人格" | "地格"; value: number; tail: number; element: "木" | "火" | "土" | "金" | "水"; explanation: string; }[]; relations: { left: "天格" | "人格" | "地格"; right: "天格" | "人格" | "地格"; relation: string; explanation: string; }[]; rule: string; }; preferredElements: Wuxing[]; conditionalPreferredElements: Wuxing[]; birthContext: NamingBirthContext | null; elementMatches: string[]; conditionalElementMatches: string[]; }; export declare function analyzeChineseCharacters(text: string): { text: string; characters: { char: string; detail: CharacterDetail | null; }[]; totalKangxiStrokes: number | null; unknownCharacters: string[]; }; export declare function selectChineseCharacters(filter: CharacterSearchFilter): { char: string; simplified: string; traditional: string; kangxiStrokes: number; radical?: string; wuxing: string | null; pinyin?: string; definition?: string | null; common: boolean; simplifiedStrokes: number | null; traditionalStrokes: number | null; structure: string | null; kangxiVolume: string | null; kangxiSection: string | null; kangxiText?: string | null; strokeNote?: string; readingNote?: string; }[]; export declare function analyzeChineseCharactersWithReferences(text: string): Promise<{ characters: { char: string; detail: { kangxiText: string; char: string; simplified: string; traditional: string; kangxiStrokes: number; radical?: string; wuxing: string | null; pinyin?: string; definition?: string | null; common: boolean; simplifiedStrokes: number | null; traditionalStrokes: number | null; structure: string | null; kangxiVolume: string | null; kangxiSection: string | null; strokeNote?: string; readingNote?: string; } | null; }[]; text: string; totalKangxiStrokes: number | null; unknownCharacters: string[]; }>; export declare function buildChineseCharacterPrompt(input: { analysis: ReturnType; question?: string; }): string; export declare function analyzeChineseName(input: { fullName: string; surnameLength?: 1 | 2; xiYong?: Wuxing[]; birth?: NamingBirthInput; }): { surname: string; given: string; chars: { isSurname: boolean; surnameReading: string | undefined; char: string; simplified: string; traditional: string; kangxiStrokes: number; radical?: string; wuxing: string | null; pinyin?: string; definition?: string | null; common: boolean; simplifiedStrokes: number | null; traditionalStrokes: number | null; structure: string | null; kangxiVolume: string | null; kangxiSection: string | null; kangxiText?: string | null; strokeNote?: string; readingNote?: string; }[]; rawGrids: { tian: number; ren: number; di: number; wai: number; zong: number; }; gridDerivations: ({ value: number; expression: string; key: "tian"; name: "天格"; operands: number[]; rule: "单姓笔画加一" | "复姓两字笔画相加"; } | { value: number; expression: string; key: "ren"; name: "人格"; operands: readonly [number, number]; rule: "姓氏末字与名字首字笔画相加"; } | { value: number; expression: string; key: "di"; name: "地格"; operands: number[]; rule: "单字名笔画加一" | "名字两字笔画相加"; } | { value: number; expression: string; key: "wai"; name: "外格"; operands: readonly [number, number]; rule: "取姓氏外侧与名字外侧笔画,单姓或单字名一侧以一补位"; } | { value: number; expression: string; key: "zong"; name: "总格"; operands: readonly number[]; rule: "姓名全部汉字笔画相加"; })[]; namingTradition: { methods: ({ name: "信"; meaning: "依据出生时的事实命名。"; } | { name: "义"; meaning: "依据品德命名。"; } | { name: "象"; meaning: "依据相类的形象或特征命名。"; } | { name: "假"; meaning: "借用事物之名。"; } | { name: "类"; meaning: "取与父亲相关的命名依据。"; })[]; title: "《左传·桓公六年》命名五法"; referenceUrl: "https://ctext.org/text.pl?if=gb&node=17216&remap=gb&show=parallel"; sourceExcerpt: "名有五:有信,有义,有象,有假,有类。以名生为信,以德名为义,以类命为象,取于物为假,取于父为类。"; application: "现代取名可将出生纪念、品德寄托、意象与事物联想作为构思角度,再核对组合后的语义和日常称呼。辈分字位置依照明确的家庭用字要求处理。"; context: "《礼记·曲礼上》记载古代为子取名的避忌,属于古代礼制语境;现代选字结合家庭习惯与实际称呼判断。"; lijiSourceExcerpt: "名子者不以国,不以日月,不以隐疾,不以山川。"; scope: "《左传》的命名五法与《礼记》的古代礼文提供历史和命名语境;五格、三才按姓名学数理取象列作参考。字义、读音、字形、出生取用和姓名学数理提供不同角度的参考。"; }; grids: { [k: string]: { level: string; poem: string; text: string; keywords: string; level_note?: string; num: number; wuxing: Wuxing; role: "祖运" | "主运" | "前运" | "副运" | "后运"; }; }; sancai: { combo: string; tian_ren: string; ren_di: string; level: string; text: string; }; sancaiEvidence: { combo: string; positions: { name: "天格" | "人格" | "地格"; value: number; tail: number; element: "木" | "火" | "土" | "金" | "水"; explanation: string; }[]; relations: { left: "天格" | "人格" | "地格"; right: "天格" | "人格" | "地格"; relation: string; explanation: string; }[]; rule: string; }; preferredElements: Wuxing[]; conditionalPreferredElements: Wuxing[]; birthContext: NamingBirthContext | null; elementMatches: string[]; conditionalElementMatches: string[]; }; export type GenerationCharacterPosition = 'first' | 'second'; export declare function selectNamingCharacters(input: { gender?: NamingGender; preferredElements?: Wuxing[]; preferredCharacters?: string; forbiddenCharacters?: string; birth?: NamingBirthInput; limit?: number; }): CharacterDetail[]; export declare function generateChineseNames(input: { surname: string; gender?: NamingGender; givenNameLength?: 1 | 2; preferredElements?: Wuxing[]; preferredCharacters?: string; forbiddenCharacters?: string; generationCharacter?: string; generationPosition?: GenerationCharacterPosition; limit?: number; birth?: NamingBirthInput; }): { fullName: string; givenName: string; analysis: ReturnType; selectionEvidence: { preferredCharacters: string[]; generationCharacter: string | null; generationPosition: GenerationCharacterPosition | null; favorableElementCharacters: string[]; conditionalFavorableElementCharacters: string[]; }; }[]; export declare function buildChineseNameAnalysisPrompt(input: { analysis: ReturnType; question?: string; selection?: PromptSelection; }): string; export declare function buildChineseNamingPrompt(input: { surname: string; gender?: NamingGender; candidates: ReturnType; suitableCharacters?: CharacterDetail[]; preferredCharacters?: string; forbiddenCharacters?: string; generationCharacter?: string; generationPosition?: GenerationCharacterPosition; selection?: PromptSelection; }): string; export type NumberPurpose = 'phone' | 'plate' | 'general'; export type NumberEnergyName = '天医' | '生气' | '延年' | '伏位' | '绝命' | '五鬼' | '六煞' | '祸害'; export type NumberEnergyNature = '助益' | '守成' | '考验'; export declare function analyzeNumber(input: string, purpose?: NumberPurpose): { letterConversions: { letter: string; value: number; digits: string; }[]; energySequence: string; energyPairs: { pair: string; span: string; start: number; end: number; sourceText: string; sourceStart: number; sourceEnd: number; name: NumberEnergyName; nature: NumberEnergyNature; keywords: string[]; meaning: string; trigramEvidence: ReturnType; modifiers: Array<{ digit: 0 | 5; effect: "\u9690\u85CF" | "\u589E\u5F3A"; }>; }[]; modifiers: { placement: string; relatedPair: { pair: string; span: string; name: NumberEnergyName; start: number; end: number; } | null; meaning: string; digit: 0 | 5; position: number; effect: "隐藏" | "增强"; }[]; magneticDistribution: { name: NumberEnergyName; nature: NumberEnergyNature; count: number; keywords: string[]; }[]; magneticSegments: { name: NumberEnergyName; nature: NumberEnergyNature; start: number; end: number; pairCount: number; span: string; }[]; dominantFields: NumberEnergyName[]; magneticSummary: { pairCount: number; supportiveCount: number; steadyCount: number; challengingCount: number; }; input: string; normalized: string; alphanumeric: string; excludedCharacters: string[]; purpose: NumberPurpose; digitCount: number; letterCount: number; digitSum: number; alphanumericSum: number; oddCount: number; evenCount: number; repeatedGroups: [] | RegExpMatchArray; primaryIndex: number; primaryNumerology: { level: string; poem: string; text: string; keywords: string; level_note?: string; }; sumIndex: number; sumNumerology: { level: string; poem: string; text: string; keywords: string; level_note?: string; }; formula: string; energyFormula: string; tradition: { title: "《钦定协纪辨方书》卷二·大游年变卦"; sourceUrl: "https://www.shidianguji.com/book/SK1619/chapter/1l9llp3fvijvs"; passage: "大游年以卦爻变化定八星:上一爻变为生气、贪狼,下二爻变为天医、巨门,三爻俱变为延年、武曲,三爻俱不变为伏位、辅弼;八宫初世为祸害,四世为五鬼,游魂为六煞,归魂为绝命。"; scope: "大游年原为宅卦相配之法;号码解读借用其卦变关系作民俗取象。"; numberMapping: "后天卦数:1坎、2坤、3震、4巽、6乾、7兑、8艮、9离。"; conversion: "字母按 A=1 至 Z=26 展开,夹在两端有效卦数之间的 0 取隐藏、5 取增强,是号码解读采用的转换约定。头尾的 0、5 及仅含 0、5 的序列单独记录位置,卦变取两端有效卦数。"; }; }; export declare function buildNumberEnergyPrompt(input: { analysis: ReturnType; question?: string; selection?: PromptSelection; }): string; export { calculateZhugeNumber, castKongmingHexagram, type ZhugeNumberResult, type KongmingHexagramResult, } from './oracles';