import type { StatsInstance } from './types.js';
export declare class StatsOverlay implements StatsInstance {
    private static instance;
    dom: HTMLDivElement | null;
    private startTime;
    private lastUpdateTime;
    private frameCount;
    private panels;
    private metricsColumn;
    private bindingsColumn;
    private animationFrameId;
    private isSetup;
    private dragPointerId;
    private dragOffsetX;
    private dragOffsetY;
    private readonly handlePointerDown;
    private readonly handlePointerMove;
    private readonly handlePointerUp;
    private constructor();
    static getInstance(): StatsOverlay;
    setup(): void;
    cleanup(): void;
    showPanel(_panelType: number): void;
    update(): void;
    private createOverlayElement;
    private applyOverlayStyles;
    private initializePanels;
    private initializePanelColumns;
    private isMemoryAvailable;
    private addPanel;
    private startLoop;
    private stopLoop;
    private updateStats;
    private updateRenderModesPanel;
    private getViewportBindingDebugEntries;
    private updateMemoryPanel;
    private attachDragHandlers;
    private detachDragHandlers;
    private onPointerDown;
    private onPointerMove;
    private onPointerUp;
    private setPosition;
    private clampToViewport;
    private restorePosition;
    private readSavedPosition;
    private savePosition;
}
