/** 西占出生时间逐秒动态范围;每个样本计算完整目标范围,不以本命代表秒代算。 */ import type { AstrolabeBirthInput, AstrolabeData } from '../types/divination'; import { type AstrolabeBirthRangeContinuousFact, type AstrolabeBirthRangeContinuousSample, type AstrolabeBirthRangeInput, type AstrolabeBirthRangeOptions, type AstrolabeBirthRangeSource } from './astrolabe-birth-range'; import { type AstrolabeScopeContext } from './astrolabe-scope'; export type AstrolabeDynamicScope = 'yearly' | 'monthly' | 'daily' | 'full'; export type AstrolabeDynamicRangeRequest = { scope: AstrolabeDynamicScope; referenceDate: string; }; export type AstrolabeDynamicSample = { natal: AstrolabeData; scopes: AstrolabeScopeContext[]; }; export type AstrolabeDynamicRangeBranch = { startTimestamp: number; endTimestamp: number; endExclusive: true; sampleCount: number; representative: AstrolabeDynamicSample; last: AstrolabeDynamicSample; continuous: AstrolabeBirthRangeContinuousFact[]; }; export type AstrolabeDynamicRange = { coverage: 'natal+dynamic'; scope: AstrolabeDynamicScope; referenceDate: string; status: 'stable' | 'conditional'; source: AstrolabeBirthRangeSource; resolutionSeconds: 1; sampleCount: number; branchCount: number; branches: AstrolabeDynamicRangeBranch[]; }; export type AstrolabeDynamicRangeSummary = Omit; /** 一次投影同时取得离散指纹和连续事实,供扫描与独立逐秒核对使用。 */ export declare function projectAstrolabeDynamicSample(sample: AstrolabeDynamicSample): { fingerprint: string; samples: AstrolabeBirthRangeContinuousSample[]; }; /** 按完整分段交付,消费方可逐段保存或渲染,扫描器不保留已交付分段。 */ export declare function scanAstrolabeDynamicRange(input: AstrolabeBirthInput, range: AstrolabeBirthRangeInput, request: AstrolabeDynamicRangeRequest, options?: AstrolabeBirthRangeOptions): Generator; /** 需要整体结果的调用方沿用同一扫描器收集分段。 */ export declare function generateAstrolabeDynamicRange(input: AstrolabeBirthInput, range: AstrolabeBirthRangeInput, request: AstrolabeDynamicRangeRequest, options?: AstrolabeBirthRangeOptions): AstrolabeDynamicRange;