import { MutableRefObject } from 'react';
import { GPUTimingState } from '../../types';
import { VSyncDetector } from '../../utils/vsync';
export interface StatsRef {
    fps: number;
    ms: number;
    memory: number;
    gpu: number;
    cpu: number;
    compute: number;
    triangles: number;
    drawCalls: number;
    vsync: number | null;
    isWebGPU: boolean;
    gpuAccurate: boolean;
    frameTimestamps: number[];
    prevTime: number;
    frameStartTime: number;
}
export interface WebGPUState {
    isWebGPU: boolean;
    hasTimestampQuery: boolean;
}
export interface TimingRefs {
    stats: MutableRefObject<StatsRef>;
    webGPUState: MutableRefObject<WebGPUState>;
    gpuTimingState: MutableRefObject<GPUTimingState>;
    vsyncDetector: MutableRefObject<VSyncDetector>;
    createdQueries: MutableRefObject<WebGLQuery[]>;
}
export declare function createInitialStats(): StatsRef;
export declare function createInitialWebGPUState(): WebGPUState;
export declare function createInitialGPUTimingState(): GPUTimingState;
//# sourceMappingURL=timing-state.d.ts.map