import { type NamespaceEvents } from "./utils.js"; /** * @public */ export declare type PowerMonitorEvents = NamespaceEvents<{ suspend: () => void; resume: () => void; "on-ac": () => void; "on-battery": () => void; "thermal-state-change": (details: { state: string; }) => void; "speed-limit-change": (details: { limit: number; }) => void; shutdown: (event: { preventDefault: () => void; }) => void; "lock-screen": () => void; "unlock-screen": () => void; "user-did-become-active": () => void; "user-did-resign-active": () => void; }>; /** * Calculate the system idle state. * @param idleThreshold - The amount of time (in seconds) before considered idle. * @returns The system's current idle state. Can be active, idle, locked or unknown. * @public */ export declare function getSystemIdleState(idleThreshold: number): Promise<"active" | "idle" | "locked" | "unknown">; /** * Calculate system idle time in seconds. * @returns Idle time in seconds. * @public */ export declare function getSystemIdleTime(): Promise; /** * Get the system's current thermal state. (macOS only) * @returns The system's current thermal state. Can be unknown, nominal, fair, serious, or critical. * @public */ export declare function getCurrentThermalState(): Promise<"critical" | "unknown" | "nominal" | "fair" | "serious">; /** * Check if the system is on battery power. * @returns Whether the system is on battery power. * @public */ export declare function isOnBatteryPower(): Promise; /** * Listen for powerMonitor events. * @public */ export declare const on: (eventName: E, callback: NamespaceEvents<{ suspend: () => void; resume: () => void; "on-ac": () => void; "on-battery": () => void; "thermal-state-change": (details: { state: string; }) => void; "speed-limit-change": (details: { limit: number; }) => void; shutdown: (event: { preventDefault: () => void; }) => void; "lock-screen": () => void; "unlock-screen": () => void; "user-did-become-active": () => void; "user-did-resign-active": () => void; }>[E], args_0?: { ref?: import("@todesktop/client-util").InstanceRefObject; preventDefault?: boolean; }) => Promise<() => Promise>; /** * Remove all listeners for powerMonitor events. * @public */ export declare const removeAllListeners: (eventName: E, args_0?: { ref?: import("@todesktop/client-util").InstanceRefObject; }) => Promise;