type CommonDict = { [key: string]: any } type GreUnitFullName = | 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'week' | 'month' | 'quarter' | 'year' type LunarUnitFullName = 'lunarHour' | 'lunarDay' | 'lunarMonth' | 'lunarYear' type LunarUnitFullNameLower = 'lunarhour' | 'lunarday' | 'lunarmonth' | 'lunaryear' type Char8UnitFullName = 'char8Hour' | 'char8Day' | 'char8Month' | 'char8Year' type Char8UnitFullNameLower = 'char8hour' | 'char8day' | 'char8month' | 'char8year' type GreUnitShortName = 'ms' | 's' | 'm' | 'h' | 'd' | 'w' | 'M' | 'q' | 'y' type LunarUnitShortName = 'lh' | 'ld' | 'lM' | 'ly' type Char8UnitShortName = 'ch' | 'cd' | 'cM' | 'cy' type GreUnit = GreUnitFullName | GreUnitShortName type LunarUnit = LunarUnitFullName | LunarUnitShortName | LunarUnitFullNameLower type Char8Unit = Char8UnitFullName | Char8UnitFullName | Char8UnitFullNameLower type UnitFullName = GreUnitFullName | LunarUnitFullName | Char8UnitFullName type UnitFullNameLower = GreUnitFullName | LunarUnitFullNameLower | Char8UnitFullNameLower type Unit = GreUnit | LunarUnit | Char8Unit type DateConfigType = lunisolar.DateConfigType type DateParamType = DateConfigType | lunisolar.Lunisolar type DateAddUnitFullName = 'millisecond' | 'second' | 'minute' | 'hour' | 'day' | 'month' | 'year' type DateAddUnit = 'ms' | 's' | 'm' | 'h' | 'd' | 'M' | 'y' | DateAddUnitFullName type PluginFunc = lunisolar.PluginFunc interface GlobalConfig { isUTC: boolean // 是否使用UTC时间,为true时,lunisolar生成的所有时间都是UTC时间,需要用local转为本地时 offset: number // 时间偏移,以分钟为单位 changeAgeTerm: number | null // 换岁节气, 默认为立春,如果为null刚为正月初一换岁 locales: { [key: string]: LocaleData } // 用于記錄語言的具體數據 lang: string // 默認語言 // [props: string]: any } type SettingGlobalConfig = Partial> type ConfigType = lunisolar.ConfigType type LunisolarConfigData = Required> interface ClassCommonConfig extends Pick { [props: string]: any } interface LunarConfig extends Pick { [props: string]: any } interface Char8Config extends Pick { [props: string]: any } interface TermFindNodeConfigBase { nodeFlag: number lang: string isUTC: boolean } interface TermFindNodeConfig0 extends TermFindNodeConfigBase { returnValue: boolean } interface TermFindNodeConfig extends Partial { returnValue: T } type StemOrBranchValueFunc = ( lsr: lunisolar.Lunisolar, ymdh: 'year' | 'month' | 'day' | 'hour', div?: number ) => number type ParseFromLunarParam = { year?: number | string month: number | string day: number | string hour?: number | string isLeapMonth?: boolean } type MethodDecorator = ( target: Object, propertyKey: string | symbol, descriptor: TypedPropertyDescriptor ) => TypedPropertyDescriptor | void class CacheClass { readonly cache: Map } interface IteratorInterface { next: () => { value: any done: boolean } }