import { Supportable, ReadonlyObservable } from '@usels/core'; interface UseBatteryReturn extends Supportable { /** Whether the battery is charging */ charging$: ReadonlyObservable; /** Time in seconds until the battery is fully charged */ chargingTime$: ReadonlyObservable; /** Time in seconds until the battery is fully discharged */ dischargingTime$: ReadonlyObservable; /** Battery level (0 to 1) */ level$: ReadonlyObservable; } /** * Framework-agnostic reactive battery status. * * Resolves `navigator.getBattery()` lazily inside `onMount` and syncs * `charging` / `chargingTime` / `dischargingTime` / `level` observables * with the `BatteryManager` instance. Listeners are torn down on unmount. * * SSR-safe: falls back to defaults (`charging=false`, `level=1`) when * `navigator` or `getBattery` is unavailable. */ declare function createBattery(): UseBatteryReturn; export { type UseBatteryReturn, createBattery };