import * as plugins from './plugins.js';
import { ServiceWorker } from './classes.serviceworker.js';
export declare class NetworkManager {
    serviceWorkerRef: ServiceWorker;
    webRequest: plugins.webrequest.WebrequestClient;
    private isOffline;
    private lastOnlineCheck;
    private readonly ONLINE_CHECK_INTERVAL;
    previousState: string;
    constructor(serviceWorkerRefArg: ServiceWorker);
    /**
     * gets the connection
     */
    getConnection(): any;
    getEffectiveType(): any;
    updateConnectionStatus(): void;
    /**
     * Checks if the device is currently online by attempting to contact the server
     * @returns Promise<boolean> true if online, false if offline
     */
    checkOnlineStatus(): Promise<boolean>;
    /**
     * Makes a network request with offline handling
     * @param request The request to make
     * @param options Additional options
     * @returns Promise<Response>
     */
    makeRequest<T>(request: Request | string, options?: {
        timeoutMs?: number;
        retries?: number;
        backoffMs?: number;
    }): Promise<Response>;
}
