import { DeesElement, type TemplateResult } from '@design.estate/dees-element';
import * as appstate from '../../appstate.js';
declare global {
    interface HTMLElementTagNameMap {
        'ops-view-network-activity': OpsViewNetworkActivity;
    }
}
export declare class OpsViewNetworkActivity extends DeesElement {
    /** How far back the traffic chart shows */
    private static readonly CHART_WINDOW_MS;
    /** How often a new data point is added */
    private static readonly UPDATE_INTERVAL_MS;
    /** Derived: max data points the buffer holds */
    private static readonly MAX_DATA_POINTS;
    accessor statsState: appstate.IStatsState;
    accessor networkState: appstate.INetworkState;
    accessor trafficDataIn: Array<{
        x: string | number;
        y: number;
    }>;
    accessor trafficDataOut: Array<{
        x: string | number;
        y: number;
    }>;
    private lastChartUpdate;
    private chartUpdateThreshold;
    private trafficUpdateTimer;
    private requestsPerSecHistory;
    private historyLoaded;
    private visibilityHandler;
    constructor();
    connectedCallback(): Promise<void>;
    disconnectedCallback(): Promise<void>;
    private subscribeToStateParts;
    private initializeTrafficData;
    /**
     * Load server-side throughput history into the chart.
     * Called once when history data first arrives from the Rust engine.
     * This pre-populates the chart so users see historical data immediately
     * instead of starting from all zeros.
     */
    private loadThroughputHistory;
    static styles: import("@design.estate/dees-element").CSSResult[];
    render(): TemplateResult<1>;
    private formatNumber;
    private formatBytes;
    private formatBitsPerSecond;
    private formatOptional;
    private formatDateTime;
    private getIpIntelligence;
    private getIpOrganization;
    private getIpIntelligenceColumns;
    private getIpDataActions;
    private getAsnDataActions;
    private calculateThroughput;
    private renderNetworkStats;
    private renderProtocolCharts;
    private renderTopIPs;
    private renderTopASNs;
    private renderTopIPsByBandwidth;
    private renderDomainActivity;
    private renderBackendProtocols;
    private showBackendDetails;
    private getDropdownKey;
    private createBlockRuleDialog;
    private showIpIntelligenceDetails;
    private updateNetworkData;
    private startTrafficUpdateTimer;
    private addTrafficDataPoint;
    private stopTrafficUpdateTimer;
}
