import { t as ModuleTheme } from "./module-theme-CHZkkCvf.js"; //#region src/modules/lunar/helpers.d.ts type LunarPhaseIndex = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7; /** * Phase identifiers. Stable string keys so consumers can map them to their * own localized labels without depending on display strings. */ type LunarPhaseKey = "new" | "waxing-crescent" | "first-quarter" | "waxing-gibbous" | "full" | "waning-gibbous" | "last-quarter" | "waning-crescent"; declare const LUNAR_PHASE_KEYS: readonly LunarPhaseKey[]; /** * Returns the fractional position in the synodic cycle for `date`. Range * `[0, 1)` where `0` is exactly new moon and `0.5` is full moon. */ declare const getLunarFraction: (date: Date) => number; /** * Returns the phase index `0..7` for the given date. Buckets are centered on * the eight principal phases: * - 0 new, 2 first quarter, 4 full, 6 last quarter * - 1, 3, 5, 7 are the crescents / gibbouses between. */ declare const getLunarPhaseIndex: (date: Date) => LunarPhaseIndex; declare const getLunarPhaseKey: (date: Date) => LunarPhaseKey; /** * Returns an illumination ratio `[0, 1]` for the phase, where `0` is fully * dark (new moon) and `1` is fully lit (full moon). Useful for ARIA labels * or analytics; not used for the visual icon (the icon is keyed off the * phase bucket). */ declare const getLunarIllumination: (date: Date) => number; /** * Resolves the displayed window of dates around `anchor` so that `anchor` * sits in the middle slot. When `days` is odd the anchor is the exact * center; when even the anchor leans one slot left. */ declare const buildLunarWindow: (anchor: Date, days: number) => Date[]; /** * Short Latin-ish phase abbreviations used as a universal visual fallback * (matches NASA / common almanac conventions). Override per consumer via the * `phaseLabels` prop for full localization — Intl has no built-in lunar * phase vocabulary. */ declare const LUNAR_PHASE_ABBR: Readonly>; /** * Long English phase names, used only as an aria-label fallback when no * locale-specific phase mapping is provided. Consumers should pass a * localized `phaseLabels` map for screen-reader experience in non-English * locales. */ declare const LUNAR_PHASE_LONG: Readonly>; //#endregion //#region src/modules/lunar/CalendarLunar.d.ts type CalendarLunarProps = { /** aria-label for the strip wrapper (registry key `lunar`). */ lunarLabel?: string; /** * Short visible phase labels. Default: NASA-style abbreviations. Pass a * partial map to localize per-phase; `false` (or empty strings) hides them. */ phaseLabels?: false | Partial>; /** Long phase names for per-cell aria. Override per locale. */ phaseAriaLabels?: Partial>; /** * Per-module theme override: a built-in family name (`data-theme`) or a * `createTheme` token object (inline `--c-*` vars on the container). */ theme?: ModuleTheme; /** Per-module scheme override (`data-scheme` on the module container). */ scheme?: "light" | "dark" | "auto"; col?: number | string; className?: string; }; declare function CalendarLunar({ lunarLabel, phaseLabels, phaseAriaLabels, theme, scheme, col, className }: CalendarLunarProps): import("react/jsx-runtime").JSX.Element; //#endregion export { LUNAR_PHASE_LONG as a, buildLunarWindow as c, getLunarPhaseIndex as d, getLunarPhaseKey as f, LUNAR_PHASE_KEYS as i, getLunarFraction as l, type CalendarLunarProps as n, type LunarPhaseIndex as o, LUNAR_PHASE_ABBR as r, type LunarPhaseKey as s, CalendarLunar as t, getLunarIllumination as u };