/** * Copyright (c) Double Symmetry GmbH * Commercial use requires a license. See https://rntp.dev/pricing */ export interface SleepTimerHooks { pause(): void; /** Persisted player volume — the fade's restore target. */ getVolume(): number; /** Transient engine-level volume (does NOT change the persisted player volume). */ setEngineVolume(volume: number): void; onTriggered(type: 'time' | 'mediaItem'): void; } export declare class SleepTimerController { private hooks; private state; private timeout; private fadeStartTimeout; private fadeInterval; private fading; constructor(hooks: SleepTimerHooks); sleepAfterTime(seconds: number, fadeOutSeconds: number): void; sleepAfterMediaItemAtIndex(index: number): void; /** Called by WebTrackPlayer when an item finishes, BEFORE auto-advancing. */ notifyItemEnded(canonicalIndex: number): void; getState(): { type: 'time'; remainingSeconds: number; fadeOutSeconds: number; } | { type: 'mediaItem'; index: number; } | null; cancel(): void; destroy(): void; private trigger; private clearTimers; } //# sourceMappingURL=SleepTimerController.d.ts.map