/** * DayNightCycle.ts * * Time of day simulation: sun/moon position, ambient lighting, * time scale control, and time-based events. * * @module environment */ export type TimeOfDay = 'dawn' | 'morning' | 'noon' | 'afternoon' | 'dusk' | 'evening' | 'night' | 'midnight'; export interface DayNightState { time: number; sunAngle: number; moonAngle: number; sunIntensity: number; moonIntensity: number; ambientColor: { r: number; g: number; b: number; }; ambientIntensity: number; period: TimeOfDay; dayCount: number; } export declare class DayNightCycle { private time; private timeScale; private dayCount; private paused; private listeners; private lastPeriod; setTime(hours: number): void; setTimeScale(scale: number): void; getTimeScale(): number; pause(): void; resume(): void; isPaused(): boolean; update(dt: number): void; getSunAngle(): number; getMoonAngle(): number; getSunIntensity(): number; getMoonIntensity(): number; getAmbientColor(): { r: number; g: number; b: number; }; getPeriod(): TimeOfDay; onPeriodChange(listener: (period: TimeOfDay, state: DayNightState) => void): void; getTime(): number; getDayCount(): number; getState(): DayNightState; getFormattedTime(): string; } //# sourceMappingURL=DayNightCycle.d.ts.map