import type { BaziChartResult, BaziUnknownTimeBatchMetadata, Person, Pillars } from './baziTypes'; type UnknownTimeScenarioSource = 'day-start' | 'shichen-representative' | 'day-end' | 'solar-term-boundary' | 'month-commander-boundary' | 'dst-boundary'; export interface UnknownTimeCandidatePoint { hour: number; minute: number; second: number; source: UnknownTimeScenarioSource; timeName: string; boundaryName?: string; boundarySide?: 'before' | 'at'; dstInterpretation?: 'daylight' | 'standard'; timezone?: number; } type UnknownTimeScenario = NonNullable['scenarios'][number]; export interface UnknownTimeCandidate { point: UnknownTimeCandidatePoint; person: Person; scenarioKey: string; } /** * 年月柱只会在节气临界改变,日柱只会在换日临界改变。 * 日初、日末与已发现的真实临界前后覆盖这些状态;普通时辰代表点仍作为候选返回, * 但无需为判断年月日柱是否待定而逐一重复排盘。 */ export declare function selectUnknownTimePillarCheckCandidates(candidates: UnknownTimeCandidate[]): UnknownTimeCandidate[]; export declare function discoverUnknownTimeCandidates(person: Person): UnknownTimeCandidate[]; export declare function buildUnknownTimeScenario(chart: BaziChartResult, candidate: UnknownTimeCandidate): UnknownTimeScenario; export declare function getUnknownTimeUncertainPillars(pillars: Pillars[]): Array<'year' | 'month' | 'day'>; export declare function getUnknownTimeUncertainCalendarDates(dates: Array>): Array<'solar' | 'lunar'>; export declare function buildUnknownTimeContextKey(person: Person): string; export declare function finalizeUnknownBirthTime(result: BaziChartResult, scenarios: UnknownTimeScenario[], uncertainPillars: Array<'year' | 'month' | 'day'>, options?: { batch?: BaziUnknownTimeBatchMetadata; inputResult?: BaziChartResult; candidateCalendarDates?: Array>; }): BaziChartResult; /** 缺时辰结果保留确定资料,并把完整排盘放在明确标注的候选场景中。 */ export declare function applyUnknownBirthTime(result: BaziChartResult, person: Person, calculateCandidate: (person: Person) => BaziChartResult): BaziChartResult; export {};