@supunlakmal/hooks
Version:
A collection of reusable React hooks
32 lines (31 loc) • 1.04 kB
TypeScript
export interface BatteryState {
isSupported: boolean;
loading: boolean;
charging: boolean | null;
level: number | null;
chargingTime: number | null;
dischargingTime: number | null;
error: Error | null;
}
interface BatteryManager extends EventTarget {
readonly charging: boolean;
readonly chargingTime: number;
readonly dischargingTime: number;
readonly level: number;
onchargingchange: ((this: BatteryManager, ev: Event) => any) | null;
onchargingtimechange: ((this: BatteryManager, ev: Event) => any) | null;
ondischargingtimechange: ((this: BatteryManager, ev: Event) => any) | null;
onlevelchange: ((this: BatteryManager, ev: Event) => any) | null;
}
declare global {
interface Navigator {
getBattery?(): Promise<BatteryManager>;
}
}
/**
* Tracks the device's battery status using the Battery Status API.
*
* @returns {BatteryState} An object containing the battery status details.
*/
export declare function useBatteryStatus(): BatteryState;
export {};