import { Gpu } from './gpu'; import { Cpu } from './cpu'; import { GlMonitorEvents } from './events'; export type GlMonitorLogger = (val: number, ms: number, i: number) => void; export type GlMonitorOptions = { fpsLogger?: GlMonitorLogger; cpuLogger?: GlMonitorLogger; gpuLogger?: GlMonitorLogger; loggerMaxTime?: number; loggerMaxFrames?: number; withoutUI?: boolean; withoutBenchmarks?: boolean; dom?: HTMLElement | null; }; export declare class GlMonitor extends EventTarget { names: string[]; withoutUI: boolean; withoutBenchmarks: boolean; private readonly dom; private showMS; private readonly fpsLogger; private readonly cpuLogger; private readonly gpuLogger; private withoutEXT; readonly gpu: Gpu; cpu: Cpu; private ac; elm: HTMLElement; pct: HTMLElement; loggerMaxTime: number; loggerMaxFrames: number; /** * Add event listener with automatic dispose. * @param eventType - event type. * @param eventListener - event listener. */ addAutoEventListener(eventType: GlMonitorEvents, eventListener: EventListenerOrEventListenerObject): void; /** * @param { WebGLRenderingContext | WebGL2RenderingContext } context * @param ac * @param { Object | undefined } settings */ constructor(context: WebGL2RenderingContext, ac: AbortController, settings?: GlMonitorOptions); /** * Add UI in dom * @param { string } name */ addUI(name?: string): void; /** * Begin named measure * @param { string | undefined } name */ begin(name: string | undefined): void; /** * End named measure * @param { string | undefined } name */ end(name: string | undefined): void; }