//#region src/navigator.d.ts
type EventListener = (event: Event) => void;
interface BatteryManager {
  supported: boolean;
  loading: boolean;
  level: number | null;
  charging: boolean | null;
  chargingTime: number | null;
  dischargingTime: number | null;
  addEventListener: (type: string, listener: () => void) => void;
  removeEventListener: (type: string, listener: () => void) => void;
}
interface NetworkState {
  online: boolean;
  downlink: number | null;
  downlinkMax: number | null;
  effectiveType: string | null;
  rtt: number | null;
  saveData: boolean | null;
  type: string | null;
}
declare interface NavigatorNetworkInformation {
  readonly connection?: NetworkInformation;
}
declare interface Navigator extends NavigatorNetworkInformation {}
declare interface WorkerNavigator extends NavigatorNetworkInformation {}
type ConnectionType = "bluetooth" | "cellular" | "ethernet" | "mixed" | "none" | "other" | "unknown" | "wifi" | "wimax";
type EffectiveConnectionType = "2g" | "3g" | "4g" | "slow-2g";
type Megabit = number;
type Millisecond = number;
interface NetworkInformation extends EventTarget {
  readonly type?: ConnectionType;
  readonly effectiveType?: EffectiveConnectionType;
  readonly downlinkMax?: Megabit;
  readonly downlink?: Megabit;
  readonly rtt?: Millisecond;
  readonly saveData?: boolean;
  onchange?: EventListener;
}
//#endregion
export { BatteryManager, ConnectionType, EffectiveConnectionType, EventListener, Navigator, NavigatorNetworkInformation, NetworkInformation, NetworkState, WorkerNavigator };
//# sourceMappingURL=navigator.d.mts.map