import { TimeDuration, TimeInput, TimeManagerOptions, TimeSnapshot, TimeState } from '@rpgjs/common'; import { RpgMap } from '../rooms/map'; export declare class TimeManager { private options; private snapshot; private maps; private lightingPhaseByMap; private weatherStateByMap; private timeStateByMap; private lightingOptOut; private environmentTimer; private dispatchDepth; private pendingEnvironmentSync; configure(options?: TimeManagerOptions): void; registerMap(map: RpgMap): void; unregisterMap(map: RpgMap): void; state(now?: number): TimeState; getSnapshot(now?: number): TimeSnapshot; set(input: TimeInput, options?: { sync?: boolean; }): TimeState; advance(duration: TimeDuration | number, options?: { sync?: boolean; }): TimeState; pause(options?: { sync?: boolean; }): TimeState; resume(options?: { sync?: boolean; }): TimeState; setScale(scale: number, options?: { sync?: boolean; }): TimeState; private anchorSnapshot; private ensureMapSignal; private syncAll; private syncMap; private applyMapEnvironment; private refreshEnvironmentTimer; private syncEnvironment; private hasTimeTransition; private applyTimeHooks; private hasTimeChanged; private hasDayChanged; private applyLighting; private shouldRollWeather; private applyWeather; private resolveWeatherTable; private rollWeather; private randomFor; private dispatchLightingHook; private dispatchBeforeWeatherHook; private dispatchEnvironmentHook; private withEnvironmentDispatch; private callPluginHook; private callEventHooks; private hasEnvironmentHook; private hasGlobalEventHook; private getMapEvents; private logEnvironmentHookError; /** Lighting configuration for a map, `false` when the time manager must not touch its lighting. */ private resolveMapLighting; private resolveLightingPhase; }