import '../../../assert/js/assert.js';
import '../../../globals.js';
import { DeviceContext, TimestampLoggerResult } from '../imports.js';
declare class GPUProfiler {
    readonly name: string;
    readonly callback: () => Promise<TimestampLoggerResult>;
    readonly results: TimestampLoggerResult[];
    constructor(name: string, callback: () => Promise<TimestampLoggerResult>);
    addResult(): Promise<void>;
    discardResult(): Promise<void>;
    getAverage(): TimestampLoggerResult;
}
export default class GPUProfiling {
    static test(): Promise<void>;
    static loopingTest(profilerFactories: ((deviceContext: DeviceContext) => Promise<GPUProfiler>)[]): Promise<void>;
    static getRadixProfiler(deviceContext: DeviceContext, numbers: number[], options: {
        combineStrategy: boolean;
        radixWorkgroupSize: number;
        radixGrainSize: number;
        scanWorkgroupSize: number;
        scanGrainSize: number;
        bitsPerPass: number;
        bitsPerInnerPass: number;
    }): Promise<GPUProfiler>;
}
export {};
//# sourceMappingURL=GPUProfiling.d.ts.map