export type MoodType = 'none' | 'day' | 'night' | 'dawn' | 'sunset' | 'foggy' | 'sepia' | 'cold' | 'noir' | 'horror' | 'flashback' | 'dream' | 'danger' | 'spot' | 'ambient' | 'warm'; export type FlickerPreset = 'candle' | 'flicker' | 'strobe'; /** * 화면 분위기 오버레이(무드, 조명)를 추가하거나 제거한다 */ export type MoodCmd = { /** 수행할 동작입니다. ('add': 무드 추가) */ action?: 'add'; /** 추가할 화면 무드의 종류입니다. */ mood: MoodType; /** 무드 이펙트의 강도(투명도)입니다. */ intensity?: number; /** 조명 깜빡임(플리커) 효과 프리셋입니다. */ flicker?: FlickerPreset; /** 전환 애니메이션의 지속 시간(ms)입니다. */ duration?: number; /** 애니메이션 진행 중 사용자 입력을 차단할지 여부입니다. */ disable?: boolean; } | { /** 수행할 동작입니다. ('remove': 무드 제거) */ action: 'remove'; /** 제거할 화면 무드의 종류입니다. */ mood: MoodType; /** 전환 애니메이션의 지속 시간(ms)입니다. */ duration?: number; /** 애니메이션 진행 중 사용자 입력을 차단할지 여부입니다. */ disable?: boolean; }; export interface MoodSchema { /** @internal mood → intensity 맵 */ _activeMoods: Record; /** @internal mood → flicker 맵 */ _flickers: Record; /** @internal 최근 전환 애니메이션 지속 시간 (ms) */ _lastDuration?: number; } /** * 무드 모듈. `novel.config`의 `modules: { 'mood': moodModule }` 형태로 등록합니다. */ declare const moodModule: import("..").NovelModule; export default moodModule; /** @internal */ export declare function addMood(ctx: any, mood: MoodType, intensity?: number, duration?: number): void;