import { LitElement } from './plugins.js';
import type { CSSResult, TemplateResult } from './plugins.js';
export interface IMetricsData {
    cache: {
        hits: number;
        misses: number;
        errors: number;
        bytesServedFromCache: number;
        bytesFetched: number;
        averageResponseTime: number;
    };
    network: {
        totalRequests: number;
        successfulRequests: number;
        failedRequests: number;
        timeouts: number;
        averageLatency: number;
        totalBytesTransferred: number;
    };
    update: {
        totalChecks: number;
        successfulChecks: number;
        failedChecks: number;
        updatesFound: number;
        updatesApplied: number;
        lastCheckTimestamp: number;
        lastUpdateTimestamp: number;
    };
    connection: {
        connectedClients: number;
        totalConnectionAttempts: number;
        successfulConnections: number;
        failedConnections: number;
    };
    speedtest: {
        lastDownloadSpeedMbps: number;
        lastUploadSpeedMbps: number;
        lastLatencyMs: number;
        lastTestTimestamp: number;
        testCount: number;
        isOnline: boolean;
    };
    startTime: number;
    uptime: number;
    cacheHitRate: number;
    networkSuccessRate: number;
    resourceCount: number;
}
/**
 * Overview panel component with metrics gauges and stats
 */
export declare class SwDashOverview extends LitElement {
    static styles: CSSResult[];
    accessor metrics: IMetricsData | null;
    accessor eventCountLastHour: number;
    accessor speedtestRunning: boolean;
    accessor speedtestPhase: 'idle' | 'latency' | 'download' | 'upload' | 'complete';
    accessor speedtestProgress: number;
    accessor speedtestElapsed: number;
    private static readonly TEST_DURATION_MS;
    private progressInterval;
    private runSpeedtest;
    private getPhaseLabel;
    private formatElapsed;
    render(): TemplateResult;
}
