import { type SolarTermEvidence } from '../calendar/solar-term-evidence'; import type { LocalTimeRange } from './baziTypes'; export interface BaziMonthInfo { index: number; month: string; ganZhi: string; startDate: string; endDate: string; startDateTime?: string; endDateTime?: string; startTermName?: string; endTermName?: string; startTermEvidence?: SolarTermEvidence; endTermEvidence?: SolarTermEvidence; timeRange: LocalTimeRange; } export interface BaziMonthDayInfo { day: number; solarDate: string; solarLabel: string; ganZhi: string; lunar: string; term?: string; startDateTime?: string; endDateTime?: string; boundaryNote?: string; timeRange: LocalTimeRange; } export interface BaziFortuneDateResolution { /** 调用方传入的公历日期,格式为 YYYY-MM-DD。 */ date: string; /** 该公历日期北京时间 12:00:00 对应的真实时间戳。 */ referenceTimestamp: number; /** 以立春为起点的节气年。 */ year: number; /** 节令月序号,寅月为 1。 */ month: number; /** 该节令月内按子初换日切片后的流日序号。 */ day: number; } export interface CalendarInfo { solarDate: string; lunarDate: string; ganZhi: { year: string; month: string; day: string; hour: string; }; jieQi: { prev: string; next: string; }; festival: string; } /** * 将公历日期定位到八字岁运使用的节气年、节令月与流日序号。 * * 日期没有时分信息,因此统一用北京时间当天 12:00:00 作为代表时刻。 * 流月、流日与后续大运定位均须复用这一真实瞬时点。 */ export declare function resolveBaziFortuneDate(date: string): BaziFortuneDateResolution; export declare function getCalendarInfo(date?: Date): CalendarInfo; export declare function getCurrentTimeDescription(): string; export declare function getYearMonthsGanZhi(year: number): BaziMonthInfo[]; export declare function getBaziMonthIndexByCivilDate(year: number, civilDate: Date): number | undefined; export declare function getBaziMonthIndexByDate(year: number, referenceDate?: Date): number | undefined; export declare function getBaziDayIndexByCivilDate(year: number, monthIndex: number, civilDate: Date): number | undefined; export declare function getBaziDayIndexByDate(year: number, monthIndex: number, referenceDate?: Date): number | undefined; export declare function getYearInfo(year: number): { year: number; yearGanZhi: string; zodiac: string; months: BaziMonthInfo[]; }; export declare function getMonthDaysInfo(year: number, month: number): BaziMonthDayInfo[];