// app/network.d.ts

interface NetworkInformation extends EventTarget {
    readonly effectiveType: 'slow-2g' | '2g' | '3g' | '4g';
    readonly type: 'bluetooth' | 'cellular' | 'ethernet' | 'none' | 'wifi' | 'wimax' | 'other' | 'unknown';
    readonly saveData: boolean;
    onchange: EventListener;
}

interface Navigator extends NavigatorNetworkInformation { }
interface WorkerNavigator extends NavigatorNetworkInformation { }

interface NavigatorNetworkInformation {
    readonly connection?: NetworkInformation;
}